Когда то давно задался вопросом как переключать отображение товара на СПИСОК и ТАБЛИЦУ пользователем когда он просматривает товар, а то как то странно получается, можно выбрать только один вид и тот админом. На нулледе 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>
добавить новые переключатели:
Код 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>
Далее меняется в самом начале файл block_products_list.php и добавляется сразу после кода:
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;}
Социальные закладки