PDA

View Full Version : Значит хочу сделать на своём шопе (SE2)...


Timon
16-12-2007, 17:27
Значит хочу сделать на своём шопе (SE2) чтобы при заходе на страницу с товаром (item) изменялась менюшка сбоку... (Т.е. где бестселлер и прочие.. ) на таблетки из той группы к которой относиться сама таблетка.. Но незнаю как это реализовать.. требуеться помошь... :rolleyes:

egorych
16-12-2007, 17:31
много гемора - я как-то взялся, получилось слишком много кода и все равно плохо работал. как реализовать - фтыкай в смарти :)

egorych
16-12-2007, 17:44
вообще я так понимаю ты про белую тему: там в /data/ находишь maywesuggest.tpl - вот там и формируются товары из той же категории (на пабликах все круто - под таблеткой related товары). но в дистрибутиве этот файл сделан херово - только 4 тобой заданных id. можно сделать 10, но это не вариант. как сделано на пабликах не знаю и не знаю почему на фиды дается попсовый вариант.

Timon
16-12-2007, 18:15
я про тему grey.. во))... Давай те народ коллективно думать.. egorych как ты думаешь какие нам надо использовать операторы для вывода этой инфы?

FDA
16-12-2007, 18:27
тоже постоянно гружусь этими темами
думаю все будет завязано вокруг

{:se_module module="item" action="group_data" group_id="auto" var_name="group_data":}

egorych
16-12-2007, 18:36
Timon, куда ты в серую тему хочешь засунуть related? :) Вместо бестселлеров? :)

Ок, щас посмотрю как это сделать... С групдата проще...

egorych
16-12-2007, 18:52
На работоспособность не проверял.

Пусть конкретный препарат хранится в переменной {:$curitem:}

{:se_module module="item" action="group_data" group_id="auto" var_name="$groupdata":}
{:section name=i loop=$groupdata.items step=1 max=5:} // до 5 элементов
{:if $groupdata.items[i].id ne $curitem.id:} // проверка чтобы не показывать ту же таблетку

Тут уже все зависит от диза

Все нужные переменные
$groupdata.items[i].id
$groupdata.items[i].name
... аналогично link, price_per_item и description
{:/if:}
{:/section:}

Timon
16-12-2007, 19:30
Та неее.. хочу
1. Bestsellers
2. <<<<< related >>>>>
3. Men's Health
4. Women's Health
5. Weight Loss

Timon
16-12-2007, 19:31
А если таблетка окажеться из тех груп которые и так раскрыты допустим Men's Health то что дубль будет?

egorych
16-12-2007, 19:36
я другое хочу и уже сделал - работает :)

Timon, принцип такой:
{:se_module module="item" action="group_data" group_id=$item_data.group.id var_name="groupdata":}

$groupdata.items - тут все таблетки текущей группы (если текущая таблетка описана в переменной item_data, как и есть по умолчанию)

читай мануал и делай список. он - в modules/navigation_main

все, дальше тока за деньги :)

Timon
16-12-2007, 20:30
я другое хочу :)

А ты что хочешь?

egorych
16-12-2007, 22:04
какая тебе разница? кастомизировать хочу.

keepper
16-12-2007, 23:02
Как хорошо видеть, что коллективно всетаки вырабатываются решения по кастамизации тем для se2.

Давайте я теперь поясню, и поясню что и как надо сделать по заданному в топике вопросу.

Итак нам надо в grey шаблоне исправить навигацию :)
1. открываем файл themes/grey/modules/navigation_main.module.tpl
имменно он отвечает за вывод левого блока навигации.
Далее нам под выводом bestsellers надо сделать вывод группы товаров, которая хранит просматриваемы

keepper
16-12-2007, 23:16
Как хорошо видеть, что коллективно всетаки вырабатываются решения по кастамизации тем для se2.

Давайте я теперь поясню, и поясню что и как надо сделать по заданному в топике вопросу.

Итак нам надо в grey шаблоне исправить навигацию :)

1. открываем файл themes/grey/modules/navigation_main.module.tpl
именно он отвечает за вывод левого блока навигации.
2. Далее нам под выводом bestsellers надо сделать вывод список товаров из группы товаров, которая хранит просматриваемый товар. Тоесть первое что мы делаем это проверяем текущую страницу, ведь наши действия относятся только к странице item.php
{:if $current_page == "item":}
наши дальнейшие действия опишем тут
{:/if:}

3. Надо определить id группы товара, информация которого показана на странице.
Ну это описал egorych. Поясню:
через вызов модуля
{:se_module module="item" action="item_data" item_id="auto" var_name="item_data":}
Мы узнаем всю информацию о товаре, в том числе и данные его группы
4. Далле надо проверить что группа не является bestsellers, men's helth, и т.д. Вобщем не те которые и так раскрыты.
{:if $item_data.group.id != 131 && $item_data.group.id != 57 && $item_data.group.id != 58 && $item_data.group.id != 59:}

5. Получаем список товаров группы
{:se_module module="item" action="group_data" group_id=$item_data.group.id var_name="cgroup":}

6. Копируем блок вывода данных, также как в bestsellers блоке
Изменяя переменную group на cgroup

7. Добавим условие, дабы не выводить имя товара, страница которого отображается
{:if $item.id != $item_data.id:}


Итого:
{:if $current_page == "item":}
{:se_module module="item" action="item_data" item_id="auto" var_name="item_data":}
{:if $item_data.group.id != 131 && $item_data.group.id != 57 && $item_data.group.id != 58 && $item_data.group.id != 59:}
{:se_module module="item" action="group_data" group_id=$item_data.group.id var_name="cgroup":}
<tr>
<td width="20"><img src="/themes/grey/img/spacer.gif" border="0" width="20" height="1"></td>
<td><br>
<a href="{:se_module module="item" action="group_link" group_id=$cgroup.id:}"><b><font color=#F07A3C>{:$cgroup.name:}</font></b></a>
{:assign var="need_link" value="no":}
<ul type="square">
{:foreach name=items item=item key=key from=$cgroup.items:}
{:if $item.id != $item_data.id:}
{:if $key lt 15:}
{:if $item.bundle != true:}
<li><a href="{:se_module module="item" action="item_link" item_id=$item.id group_id=$cgroup.id:}">{:$item.name:}</a>
{:/if:}
{:else:}
{:assign var="need_link" value="yes":}
{:/if:}
{:/if:}
{:/foreach:}
</ul>
{:if $need_link eq "yes":}
<a href="{:se_module module="item" action="group_link" group_id=$cgroup.id:}"><u>All products</u></a><br><br>
{:/if:}

</td>
</tr>
{:/if:}
{:/if:}

Timon
18-12-2007, 19:16
Всем спасибо, всё заработало... так как и хотелось :)