Здравствуйте.
В данный момент у меня на сайте можно перейти к шаблону full товара только при нажатии на Title или изображение товара в шаблоне teaser. Вопрос: можно ли весь блок teaser сделать ссылкой на item. И как это сделать.
Заранее спасибо.
Как весь блок teaser сделать ссылкой на full
Автор
cj
, Mar 27 2013 07:56
Сообщений в теме: 15
#1
Отправлено 27 March 2013 - 07:56
#2
Отправлено 27 March 2013 - 08:21
Придется покурить стили CSS, чтобы не переписывать шаб. В таких случаях проще всего рассматривать ссылку заголовка например как отдельно живущий элемент.
Всему телу тизера не забываем довинтить стиль позишн релятив. После чего ссылку заголовка делаем блоком, позишн абсалют и лепим если необходимо Z-index чтобы было поверху.
Задаем параметры размеров на всю ширину и на всю высоту тизера. (хорошо если тизер будет одинаковой высоты везде, иначе надо будет % пользовать... я не пробовал) Ну вот как то так по идее и должно получиться то, что надо.
Всему телу тизера не забываем довинтить стиль позишн релятив. После чего ссылку заголовка делаем блоком, позишн абсалют и лепим если необходимо Z-index чтобы было поверху.
Задаем параметры размеров на всю ширину и на всю высоту тизера. (хорошо если тизер будет одинаковой высоты везде, иначе надо будет % пользовать... я не пробовал) Ну вот как то так по идее и должно получиться то, что надо.
#3
Отправлено 27 March 2013 - 08:36
Боюсь, при правке стилей можно работу себе прилично увеличить... Стилей правилось много...
Должен же быть какой-то еще способ...
Например в файле media\zoo\applications\jbuniversal\templates\catalog\renderer\subcategory\_default.php
есть код
69 <div class="subcategory-items">
70 <?php
71 foreach($items as $item) {
72 echo $this->app->jblayout->renderItem($item, 'subcategory_item');
73 }
74 ?>
75 </div>
Но
1. если пробую поставить вместо 72 строчки
echo $this->app->jblayout->renderItem($item, 'subcategory_item').'<a href="">2341234</a>';
то ссылку видно
2. если ставлю
echo '<a href="">'.$this->app->jblayout->renderItem($item, 'subcategory_item').'</a>';
то ссылки нет
3. если ставлю
echo '<a href="'.$this->app->route->item($this->_item).'">'.$this->app->jblayout->renderItem($item, 'subcategory_item').'</a>';
то сайт перестает фурычить
я в php слаб. наверняка, что-то не так делаю...
Должен же быть какой-то еще способ...
Например в файле media\zoo\applications\jbuniversal\templates\catalog\renderer\subcategory\_default.php
есть код
69 <div class="subcategory-items">
70 <?php
71 foreach($items as $item) {
72 echo $this->app->jblayout->renderItem($item, 'subcategory_item');
73 }
74 ?>
75 </div>
Но
1. если пробую поставить вместо 72 строчки
echo $this->app->jblayout->renderItem($item, 'subcategory_item').'<a href="">2341234</a>';
то ссылку видно
2. если ставлю
echo '<a href="">'.$this->app->jblayout->renderItem($item, 'subcategory_item').'</a>';
то ссылки нет
3. если ставлю
echo '<a href="'.$this->app->route->item($this->_item).'">'.$this->app->jblayout->renderItem($item, 'subcategory_item').'</a>';
то сайт перестает фурычить
я в php слаб. наверняка, что-то не так делаю...
#4
Отправлено 27 March 2013 - 08:40
'subcategory_item') кавыки закавыки..
#5
Отправлено 27 March 2013 - 08:51
Не.. проблема не в этом 100 про. даже в оригинале апострофы стоят...
Сайт выдает
Fatal error: Call to a member function getCategoryTree() on a non-object in Z:\home\rrbase_zoo\www\administrator\components\com_zoo\helpers\route.php on line 279
То ли ссылка на item кривая, то ли еще что-то...
Но даже если бы ссылка была верной, то как я писал в пункте 2, ссылка все равно не пашет...
((
Сайт выдает
Fatal error: Call to a member function getCategoryTree() on a non-object in Z:\home\rrbase_zoo\www\administrator\components\com_zoo\helpers\route.php on line 279
То ли ссылка на item кривая, то ли еще что-то...
Но даже если бы ссылка была верной, то как я писал в пункте 2, ссылка все равно не пашет...
((
#6
Отправлено 27 March 2013 - 08:56
В оригинала может и стоят апострофы, но в данном случае Вы используете конкатенацию, попробуйте 'subcategory_item') сделать "subcategory_item")
И вам всеравно придется кртить стили. Без них вряд ли что то получится. На мой взгляд Ваше простое решение похоже на пионерский девиз - "Легких путей не ищем"
И вам всеравно придется кртить стили. Без них вряд ли что то получится. На мой взгляд Ваше простое решение похоже на пионерский девиз - "Легких путей не ищем"

#7
Отправлено 27 March 2013 - 09:03
Ну я попробовал поменять кавычки, все равно не работает..
#8
Отправлено 27 March 2013 - 09:04
как вывод - что то еще не так делаете, я не силен в API zoo.. наверняка еще где то ошибка...
#9
Отправлено 27 March 2013 - 09:59
в итоге сделал почти как вы говорили
в файле шаблона teaser перед выводом title вставил строчку
<?php echo '<a href="'.$this->app->route->item($this->_item).'" style="position:absolute; width:600px; height:187px; margin:-6px 0 0 -6px;"></a>'; ?>
(это с учетом моих размеров карточки товара)
Тока стили осталось переместить в таблицу стилей.
Так работает, НО!
Ссылка перекрывает все элементы блока teaser, соответственно контент, находящийся в блоке teaser выделять и копировать нельзя..
Тоже какое-то недорешение (
в файле шаблона teaser перед выводом title вставил строчку
<?php echo '<a href="'.$this->app->route->item($this->_item).'" style="position:absolute; width:600px; height:187px; margin:-6px 0 0 -6px;"></a>'; ?>
(это с учетом моих размеров карточки товара)
Тока стили осталось переместить в таблицу стилей.
Так работает, НО!
Ссылка перекрывает все элементы блока teaser, соответственно контент, находящийся в блоке teaser выделять и копировать нельзя..
Тоже какое-то недорешение (
#10
Отправлено 27 March 2013 - 10:04
Вообще можно было не делать правок шаба, а задать этот стиль ссылке заголовка
говорил же что будет не сложно.
