Когда то давно задался вопросом как переключать отображение товара на СПИСОК и ТАБЛИЦУ пользователем когда он просматривает товар, а то как то странно получается, можно выбрать только один вид и тот админом. На нулледе 3 года назад получил ответ, сейчас публикую его здесь, может кому то пригодится, или найдутся люди которые помогут доработать его или проверить на корректность, особенно интересует вопрос с сессиями.
block_products_list.html
block_products_table_view.html
К примеру после строки с сортировками:
добавить новые переключатели:Код HTML:<td> <!-- begin products_sortings --> {PROD_SORT_BY_MSG}: {sorter_default} | {sorter_price} | {sorter_name} | {sorter_manufacturer} | {sorter_code}<!-- end products_sortings --></td>
Далее меняется в самом начале файл block_products_list.php и добавляется сразу после кода:Код HTML:<td><a href="products.php?category_id={category_id}&type=list">List</a> :: <a href="products.php?category_id={category_id}&type=table">Table</a></td>
новый кодPHP код:$products_default_view = get_setting_value($page_settings, "products_default_view", "list");
При желании, также можно сохранить вы браное значение в сессии, если конечно нужна такая возможность.PHP код:$type = get_param("type");
if ($type) {$products_default_view = $type;}
Сессия создается для каждого пользователя отдельно и живет до того времени пока он, либо не закроет браузер, либо истечет отведенное для нее в системе время.
Если нужно для всех выбрать определенный вывод продуктов, тогда это делается через CMS настройки магазина.
Если нужно сохранить выбранное значение для конкретного пользователя на время его сессии тогда усовершенствуем код:
PHP код:$type = get_param("type");
$sess_type = get_session("sess_type");
if ($type) {$products_default_view = $type;
set_session("sess_type", $type);}
elseif ($sess_type) {$products_default_view = $sess_type;}


LinkBack URL
About LinkBacks



Ответить с цитированием

Социальные закладки