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


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

Как весь блок teaser сделать ссылкой на full


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

#1 cj

cj

Отправлено 27 March 2013 - 07:56

Здравствуйте.
В данный момент у меня на сайте можно перейти к шаблону full товара только при нажатии на Title или изображение товара в шаблоне teaser. Вопрос: можно ли весь блок teaser сделать ссылкой на item. И как это сделать.
Заранее спасибо.
  • 0

#2 Ёшкин Кот

Ёшкин Кот

Отправлено 27 March 2013 - 08:21

Придется покурить стили CSS, чтобы не переписывать шаб. В таких случаях проще всего рассматривать ссылку заголовка например как отдельно живущий элемент. 

Всему телу тизера не забываем довинтить стиль позишн релятив. После чего ссылку заголовка делаем блоком, позишн абсалют и лепим если необходимо Z-index чтобы было поверху.

Задаем параметры размеров на всю ширину и на всю высоту тизера. (хорошо если тизер будет одинаковой высоты везде, иначе надо будет % пользовать... я не пробовал) Ну вот как то так по идее и должно получиться то, что надо.

  • 0

#3 cj

cj

Отправлено 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 слаб. наверняка, что-то не так делаю...


  • 0

#4 Ёшкин Кот

Ёшкин Кот

Отправлено 27 March 2013 - 08:40

'subcategory_item') кавыки закавыки..  
  • 0

#5 cj

cj

Отправлено 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, ссылка все равно не пашет...
((
  • 0

#6 Ёшкин Кот

Ёшкин Кот

Отправлено 27 March 2013 - 08:56

В оригинала может и стоят апострофы, но в данном случае Вы используете конкатенацию, попробуйте 'subcategory_item') сделать "subcategory_item")

И вам всеравно придется кртить стили. Без них вряд ли что то получится. На мой взгляд Ваше простое решение похоже на пионерский девиз - "Легких путей не ищем" :)


  • 0

#7 cj

cj

Отправлено 27 March 2013 - 09:03

Ну я попробовал поменять кавычки, все равно не работает..
  • 0

#8 Ёшкин Кот

Ёшкин Кот

Отправлено 27 March 2013 - 09:04

как вывод - что то еще не так делаете, я не силен в  API zoo.. наверняка еще где то ошибка... 
  • 0

#9 cj

cj

Отправлено 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 выделять и копировать нельзя..
Тоже какое-то недорешение (
  • 0

#10 Ёшкин Кот

Ёшкин Кот

Отправлено 27 March 2013 - 10:04

Вообще можно было не делать правок шаба, а задать этот стиль ссылке заголовка :) говорил же что будет не сложно.
  • 0




Click to return to top of page in style!