[Помощь] Выводить количество товаров на странице

HTML:
<form method="post" action="">
    Выводить на странице товаров:
            <select size="1" name="menu1" onchange="submit();" >
            <option value="12" selected="selected">12</option>
            <option value="30" >30</option>
            <option value="50" >50</option>
            <option value="100" >100</option>
        </select>
</form>
 
Разобрался. В файле фронтеда category.tpl.html есть такой вот интересный кусок кода:
Код:
{if $smarty.session.count}
    {assign var=products_per_page value=$smarty.session.count}
{else}
    {assign var=products_per_page value=$smarty.const.CONF_PRODUCTS_PER_PAGE}
{/if}

Если я вставляю свою форму:
Код:
<form method="post" action="">
    Выводить на странице товаров:
                <select size="1" name="menu1" onchange="submit();" >
            <option value="12" {if $products_per_page=='12'}selected="selected"{/if}>12</option>
            <option value="30" {if $products_per_page=='30'}selected="selected"{/if}>30</option>
            <option value="50" {if $products_per_page=='50'}selected="selected"{/if}>50</option>
            <option value="100" {if $products_per_page=='100'}selected="selected"{/if}>100</option>
        </select>
</form>
ПОСЛЕ вышеуказанного интересного условия — не работает
ДО условия — прекрасно все работает и отображается.

Решение (правильное?:( я перенес условие выше блока навигации (пагинации).
Всем спасибо за помощь! Надеюсь мое решение не аукнется позже.
 
Разобрался. В файле фронтеда category.tpl.html есть такой вот интересный кусок кода:
Код:
{if $smarty.session.count}
    {assign var=products_per_page value=$smarty.session.count}
{else}
    {assign var=products_per_page value=$smarty.const.CONF_PRODUCTS_PER_PAGE}
{/if}
Подскажите пожалуйста, а какая версия вебасиста у вас? У меня в
файле фронтеда category.tpl.html нет такого кода. Смотрел и в ver. 307 и в 309 Уже второй день бьюсь поставить вашу форму и не работает. Показывает количество, которое проставлено в настройках админпанели. :(
При подстановке вашей форме у меня не срабатывает проверка
{if $products_per_page=='12'}selected="selected"{/if} и поэтому не подставляется selected="selected"
В чем может быть причина?
На всякий случай вот мой category.tpl.html

Скрытое содержимое доступно для зарегистрированных пользователей!
 
Последнее редактирование:
Попробуйте вместо кода:
Код:
{if $products_to_show}

{*
* @features "Products comparison"
*}
<center>
{include file="comparison_products_button.html"}
{*
* @features
*}

<p></p>
{if $string_product_sort}<p id="cat_product_sort">{$string_product_sort}</p>{/if}


{if $catalog_navigator}<p>{$catalog_navigator}</p>{/if}
</center>
}
вставить код:
Код:
{if $products_to_show}
{*
 * @features "Products comparison"
*}
{include file="comparison_products_button.html"}
{*
 * @features
*}

<!--Условие ПОСЛЕ КОТОРОГО -->
{if $smarty.session.count}
  {assign var=products_per_page value=$smarty.session.count}

{else}
  {assign var=products_per_page value=$smarty.const.CONF_PRODUCTS_PER_PAGE}
{/if}   
<!-- EnD Условие ПОСЛЕ КОТОРОГО -->
{if $string_product_sort}
<select onchange="window.location=this.value">
   <option value="/category/{$selected_category.slug}/">товары без сортировки</option>
   <option value="/category/{$selected_category.slug}/?sort=name&direction=ASC"{if $string_product_sort_row == 'name' && $string_product_current == 'ASC'} selected="selected"{/if}>по наименованию А-Я</option>
   <option value="/category/{$selected_category.slug}/?sort=name&direction=DESC"{if $string_product_sort_row == 'name' && $string_product_current == 'DESC'} selected="selected"{/if}>по наименованию Я-А</option>
   <option value="/category/{$selected_category.slug}/?sort=Price&direction=ASC"{if $string_product_sort_row == 'Price' && $string_product_current == 'ASC'} selected="selected"{/if}>по цене, сначала дешевые</option>
   <option value="/category/{$selected_category.slug}/?sort=Price&direction=DESC"{if $string_product_sort_row == 'Price' && $string_product_current == 'DESC'} selected="selected"{/if}>по цене, сначала дорогие</option>
</select>
{/if}
   
<div id="kolichestvo">
<form method="post" action="">
  <select size="1" name="menu1" onchange="submit();" >
  <option value="12" {if $products_per_page=='12'}selected="selected"{/if}>12 товаров на странице</option>
  <option value="30" {if $products_per_page=='30'}selected="selected"{/if}>30 товаров на странице</option>
  <option value="50" {if $products_per_page=='50'}selected="selected"{/if}>50 товаров на странице</option>
       <option value="100" {if $products_per_page=='100'}selected="selected"{/if}>100 товаров на странице</option>
  </select>
</form>
</div><br/>

{if $catalog_navigator}<div class="paginator">{$catalog_navigator}</div>{/if}
Отпишитесь что у вас получилось.
 
Отпишитесь что у вас получилось.

Так и не получилось сделать. :( Сделал как и написали, то же самое Список появляется а при выборе например 30 страница перегружается и цифра встает на 12 а выводится по 8 так как стоит в админке 8. Уже пробовал убирать все скрипты в head все равно то же самое. Такое ощущение что где то в php берет с настроек админки. Или не срабатывает
<select size="1" name="menu1" onchange="submit();" > или не срабатывает условие
{if $products_per_page=='30'}selected="selected"{/if}

Что может быть еще? Посмотрел на Вашем сайте самое то что мне надо, но в чем может быть загвоздка? :(
И еще у меня на сайте без ЧПУ В первой части кода, какой урл необходимо проставить вместо
/category/{$selected_category.slug}/
 
ЧПУ у вас не включен?
Я приводил для сайта с ЧПУ. Подождите попробую помочь, если силенок хватит :)
 
ЧПУ у вас не включен?
Я приводил для сайта с ЧПУ. Подождите попробую помочь, если силенок хватит :)

Насколько я понял на ЧПУ влияет только первая часть кода (сортировка А-Я) а по количеству все равно.
 
Попробуйте с этого куска кода взять пути без ЧПУ:
Код:
<select onchange="window.location=this.value">
<option selected="selected">{"select_list"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;direction=ASC&amp;sort=name">{"by_name_a"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;direction=DESC&amp;sort=name">{"by_name_ja"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;sort=Price&amp;direction=ASC">{"low_cost_first"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;sort=Price&amp;direction=DESC">{"expensive_first"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;sort=customers_rating&amp;direction=ASC">{"rated_sort"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;sort=customers_rating&amp;direction=DESC">{"rated_sort_up"|translate}</option>
</select>
Отпишитесь, получилось ли. И Выложите код рабочий.
p.s.: кстати, спрячьте код длинный, в одном из ваших сообщений, в спойлер.
 
Попробуйте с этого куска кода взять пути без ЧПУ:
Код:
<select onchange="window.location=this.value">
<option selected="selected">{"select_list"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;direction=ASC&amp;sort=name">{"by_name_a"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;direction=DESC&amp;sort=name">{"by_name_ja"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;sort=Price&amp;direction=ASC">{"low_cost_first"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;sort=Price&amp;direction=DESC">{"expensive_first"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;sort=customers_rating&amp;direction=ASC">{"rated_sort"|translate}</option>
<option value="/s/index.php?categoryID={$categoryID}&amp;sort=customers_rating&amp;direction=DESC">{"rated_sort_up"|translate}</option>
</select>
Отпишитесь, получилось ли. И Выложите код рабочий.
p.s.: кстати, спрячьте код длинный, в одном из ваших сообщений, в спойлер.


Спасибо за помощь
в 3-4 строках опечатка, надо поменять местами часть кода.
{"by_name_a"|translate} У меня отображается как by_name_a Не выводится Русский шаблон. В принципе можно прописать сразу по русски.

Но мне нужно было чтобы второй кусок кода заработал, там где выводить на страницу по определенному количеству товаров. А он как раз и не работает :(

Есть какие нибудь мысли по этому вопросу?
 
Покажите скомбинированный код, который вы пробуете, что у вас вышло?
 
Назад
Сверху