Перейти к содержимому


Фотография
- - - - -

Ссылка не в заголовке, а на всем тизере. Как?

тизер ссылка заголовок

Лучший Ответ CB9TOIIIA , 16 December 2016 - 07:14

Все верно. Просто в тизере например в конец делаем DIV - вешаем: 
 

.linkalldiv {
    background-color: transparent;
    width: 98%;
    height: 95%;
    position: absolute;
    top: 0;
    z-index: 999;
}

Пример: http://dom813.ru/

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 11

#1 lexxbond99

lexxbond99

Отправлено 15 December 2016 - 20:36

Хотел обернуть div материалов подкатегории в тэг <a>, чтобы ссылкой на материал был не только заголовок материала, но всё содержание тизера, т.е. весь див jbzoo-item
 
Фрагмент кода:
 
<div class="subcategory-items clearfix">
<div class="jbzoo-item jbzoo-item-subcategory_item">
<div class="item-title">
<div class="item-image align-left">
<div class="element element-textarea first last">
 
В каком шаблоне это описывается?:
 
<div class="subcategory-items clearfix">
- это Подкатегория описывается в файле "renderer\subcategory\_default.php"
 
<div class="jbzoo-item jbzoo-item-subcategory_item">
- где найти файл, который добавляет это описание???
 
- далее пошли элементы материала в файле "renderer\item\subcategory_item.php"
<div class="item-title">
<div class="item-image align-left">
<div class="element element-textarea first last">
 
Попробовал поиском в коммандере, он нашел файл
"zoo\applications\jbuniversal\framework\classes\jbtemplate.php"
тут действительно задаются классы jbzoo-item-
но я не понял как добраться до <div class=""> - тут всё спрятано запрятано
 
 
 
 


#2 Dyonis

Dyonis

Отправлено 16 December 2016 - 04:03

Так вам нужно править сам шаблон тизера teaser.php

Лежит он media\zoo\applications\jbuniversal\templates\catalog\renderer\item\название_типа\

<a href="<?php echo $this->app->route->item($this->_item); ?>">

здесь ваш div

</a>

 

в css a {display:block}


  • 0

#3 CB9TOIIIA

CB9TOIIIA

Отправлено 16 December 2016 - 07:14   Лучший Ответ

Все верно. Просто в тизере например в конец делаем DIV - вешаем: 
 

.linkalldiv {
    background-color: transparent;
    width: 98%;
    height: 95%;
    position: absolute;
    top: 0;
    z-index: 999;
}

Пример: http://dom813.ru/


  • 1

#4 lexxbond99

lexxbond99

Отправлено 16 December 2016 - 14:58

Так вам нужно править сам шаблон тизера teaser.php

Лежит он media\zoo\applications\jbuniversal\templates\catalog\renderer\item\название_типа\

<a href="<?php echo $this->app->route->item($this->_item); ?>">

здесь ваш div

</a>

 

в css a {display:block}

 

прошу прощения не так описал:

ссылка на материал должна быть не в тизере, а в материале, который отражается под описанием подкатегории (в шаблонах известен как

subcategory_item.php). Я как бы его называю тоже тизером, это как превью материала. Ведь если править файл teaser.php , то изменения не коснуться превью материала под описанием подкатегорий.

 

Но даже если править сам тизер, то проблема того же характера. Вы говорите оборачивайте ваш див. В том то и дело, что нужно обернуть не мой див, а тот который уже есть в jbzoo или в zoo, но этот див отражается через firebug, но в шаблонах его нигде не могу найти, вот например тот же тизер:

 

так он выглядит в браузере:

<div class="jbzoo-item jbzoo-item-teaser ">

<h4 class="item-title">
<div class="jb-row">
<div class="item-text jb-row">
 
а так в шаблоне:

<?php defined('_JEXEC') or die('Restricted access');
$align     = $this->app->jbitem->getMediaAlign($item, $layout);?>

<?php if ($this->checkPosition('title')) : ?>
    <h4 class="item-title"><?php echo $this->renderPosition('title'); ?></h4>
<?php endif; ?>
и т.д.

т.е. див заголовка есть, а сам див контейнер, содержащий class="jbzoo-item jbzoo-item-teaser" - нет.

Поэтому обернуть его в ссылку невозможно. Та же история и с превью материала в подкатегории.
 
Допустим я добавил свой див "test", обернул им всё что есть в тизере, и обернул пустой ссылкой:
<a href="#">
<div class="test">
<?php if ($this->checkPosition('title')) : ?>
    <h4 class="item-title"><?php echo $this->renderPosition('title'); ?></h4>
<?php endif; ?>
...
...
...
</div></a>
в итоге браузер выдает:
<div class="jbzoo-item jbzoo-item-teaser"> - тот самый див, которого нет в шаблонах
<a href="#"> </a> - тут тэг закрылся
<div class="test"> - это мой див "тест"
<a href="#"> </a> - тут опять копируется ссылка
<h4 class="item-title"> - тут содержимое тизера без изменений
...
</div>
</div>

остается по прежнему 2 вопроса

1. в каком шаблоне описываются дивы с jbzoo-item или jbzoo-item-subcategory_item

2. почему ссылка не оборачивает тизер, а разрывается?



#5 Sliapy

Sliapy

Отправлено 16 December 2016 - 15:12

*удалено, просмотрел*


Сообщение отредактировал Sliapy: 16 December 2016 - 15:13

  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#6 lexxbond99

lexxbond99

Отправлено 16 December 2016 - 15:14

2. разрывается ссылка, потому что в содержимом нашей ссылки-дива встречается ссылка по умолчанию в заголовке, её нужно отключить в редакторе полей заголовка шаблона в админке, там есть пункт "ссылка к элементу - да/нет". теперь заработало.

 

1. буду пытаться переписать стили для своего тестового дива, но всё же хотелось бы понять откуда появляются jbzoo-item.



#7 CB9TOIIIA

CB9TOIIIA

Отправлено 16 December 2016 - 15:18

0_a97cf_205a1395_orig.png
 
Вредные советы.  (wonder) 
 
Делайте div вконце или вначале с ссылкой и его фоньте.

  • 0

#8 Sliapy

Sliapy

Отправлено 16 December 2016 - 15:24

1. буду пытаться переписать стили для своего тестового дива, но всё же хотелось бы понять откуда появляются jbzoo-item.

Насколько я помню, это все генерируется тут media\zoo\applications\jbuniversal\framework\helpers\jbwrapper.php. Но здесь вы ничего  ссылку не обернете. Оборачивать в ссылку, имхо, неправильно. Почему - вы уже ответили сами. Ссылка в ссылке - это косяк.

 

Я бы это решал так: http://forum.jbzoo.c...a-full/?p=64809

 

Ну или, как напсиали выше, делать ссылку в конце тизера и через css "растягивать" ее на весь teaser.


Сообщение отредактировал Sliapy: 16 December 2016 - 15:25

  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#9 lexxbond99

lexxbond99

Отправлено 16 December 2016 - 16:39

 

Вредные советы.  (wonder) 
 
Делайте div вконце или вначале с ссылкой и его фоньте.

 

 

Вероятно хорошее решение, но у меня работает некорректно:

 

топ 0 прикрепляет див-ссылку к шапке сайта, видимо у вас топ 0 как то связан с тизером.

100% ширины и высоты растягивает див не на ширину тизера, а на весь сайт, а у меня 2 колонки материалов, приходиться настривать % в firebuge в режиме онлайн.

После всех настроек, вроде бы всё работает, но как только начинаешь менять масштаб сайта CTRL+/- либо уменьшать сайт под разные устройства (важно сохранить релэтив), то весь этот абсолютный див начинает плясать.

Для меня рабочее решение через обертывание ссылкой.
Всем спасибо за советы! :)
 



#10 CB9TOIIIA

CB9TOIIIA

Отправлено 16 December 2016 - 16:42

топ 0 прикрепляет див-ссылку к шапке сайта

к тизеру задайте:

.test {position: relative;}

Все будет ГУД :)


Сообщение отредактировал CB9TOIIIA: 16 December 2016 - 16:45

  • 0





Темы с аналогичным тегами тизер, ссылка, заголовок

Click to return to top of page in style!