PDA

Просмотр полной версии : tt_products (SINGLE и LIST вместе)


Илья
06.02.2011, 23:10
Привет.
Есть необходимость реализовать для tt_products такой layout (http://s002.radikal.ru/i198/1102/1d/bf707d18b19a.jpg)
То есть, после перехода в SINGLE надо показать внизу списком содержимое предыдущей страницы (отобранные по категории или поиском товары).
Насколько смог понять - tt_products не может одновременно показывать на стр. SINGLE и LIST. У меня в этом случае нижний LIST приобретает вид SINGLE. Пробовал этот самый LIST вставлять как RECORD (и другой страницы, где запись tt_products вставлена как LIST). Также пробовал вставлять напрямую через TS
lib.name < plugin.tt_products
lib.name {...LIST...}
В обоих случаях - list преобразуется в сингл.
Думаю еще про вариант с IFRAME, вот только как в него загнать содержимое выборки с предыдущей страницы (без остального дизайна стр). Попробовал использовать для этих целей sr_iframe (пока не удалось вывести то, что надо)... Не уверен, что это будет работать, но какой-нибудь вариант решения найти очень хочется...

Valery Romanchev
06.02.2011, 23:46
Правильное решение - написать свой плагин, который выводит то, что нужно (при этом используя таблицы tt_products, корзину и чекаут от него).
Ну или сразу писать свой магазин :-)

Илья
06.02.2011, 23:58
Валерий спасибо за ответ.
Как всегда говорите правильные вещи, но к сожалению надо использовать именно tt_products и поэтому придется искать какие-нибудь костыли. Что думаете, получится ли вывести содержимое предыдущей страницы безотносительно к текущей? В крайнем случае вывести ее целиком, а спозиционировать только для показа списка продуктов...
Условно: запомнить url предыдущей страницы и показать содержимое по этому url'у ниже детального описания товара!?

Илья
08.02.2011, 15:25
Немного поковырявшись в tt_products почти решил эту задачу (single+list) и даже с запоминанием выборки.
Единственное, что хочется сделать это показывать/не показывать блок контента (вставленный через lib.something) в зависимости от URL страницы.
То есть, есть стр с id=60 и нужно показать на ней блок только если дальше в url'e будет указано tx_ttproducts_pi1[product], если такого нет - блок не показывать.
Или может быть есть готовый флаг, который отличает страницы single от list (в случае, если для сингл используется та же страница) - отдельно single-стр. не создавалась!

Илья
09.02.2011, 08:31
Пока что решил пробовать пойти таким путем:
использовать
[userFunc = user_match(checkURL)]
и соответственно checkURL будет скрипт, который ищет в URL'е нужные вхождения (tx_ttproducts_pi1[product])...
Кто-нибудь знает способ сделать тоже самое на чистом TS?
Пробую так, но не срабатывает (не вставляются ничего в блок lib.carussel) ...

[globalString = QUERY_STRING= *tx_ttproducts_pi1[product*]
lib.carussel < styles.content.get
lib.carussel.select.pidInList = 64
[end]

Пробовал тоже самое с REQUEST_URI - такой же отрицательный результат...

Илья
11.02.2011, 15:45
Может быть кому-то пригодится мой результат:
[globalString = IENV:QUERY_STRING = *tx_ttproducts_pi1[product*]
lib.carussel < styles.content.get
lib.carussel.select.pidInList = 64
[end]

Вставляет carussel только на страницы с tx_ttproducts_pi1[product в URL'e.