Стас Опубликовано 23 декабря, 2014 Жалоба Поделиться Опубликовано 23 декабря, 2014 Здравствуйте! Помогите , как вывести все товары из категории? Хочу добавить кнопку в сортировку "Все товары" и что бы выводились все товары из выбранной категории. Подскажите пожалуйста, как? То есть что бы не было страниц, а просто все товары на одной страницефайл products.tpl: {* Сортировка *} {if $products|count>0} <div class="sort"> Сортировать по <a {if $sort=='position'} class="selected"{/if} href="{url sort=position page=null}">умолчанию</a> <a {if $sort=='price'} class="selected"{/if} href="{url sort=price page=null}">цене</a> <a {if $sort=='name'} class="selected"{/if} href="{url sort=name page=null}">названию</a> </div> {/if} {include file='pagination.tpl'} <!-- Список товаров--> <ul class="products"> {foreach $products as $product} <!-- Товар--> <li class="product"> <!-- Фото товара --> {if $product->image} <div class="image"> <a href="products/{$product->url}"><img src="{$product->image->filename|resize:200:200}" alt="{$product->name|escape}"/></a> </div> {/if} <!-- Фото товара (The End) --> <div class="product_info"> <!-- Название товара --> <h3 class="{if $product->featured}featured{/if}"><a data-product="{$product->id}" href="products/{$product->url}">{$product->name|escape}</a></h3> <!-- Название товара (The End) --> <!-- Описание товара --> <div class="annotation">{$product->annotation}</div> <!-- Описание товара (The End) --> {if $product->variants|count > 0} <!-- Выбор варианта товара --> <form class="variants" action="/cart"> <table> {foreach $product->variants as $v} <tr class="variant"> <td> <input id="variants_{$v->id}" name="variant" value="{$v->id}" type="radio" class="variant_radiobutton" {if $v@first}checked{/if} {if $product->variants|count<2}style="display:none;"{/if}/> </td> <td> {if $v->name}<label class="variant_name" for="variants_{$v->id}">{$v->name}</label>{/if} </td> <td> {if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if} <span class="price">{$v->price|convert} <span class="currency">{$currency->sign|escape}</span></span> </td> </tr> {/foreach} </table> <input type="submit" class="button" value="в корзину" data-result-text="добавлено"/> </form> <!-- Выбор варианта товара (The End) --> {else} Нет в наличии {/if} </div> </li> <!-- Товар (The End)--> {/foreach} </ul> {include file='pagination.tpl'} <!-- Список товаров (The End)--> Файл pagination.tpl {* Постраничный вывод *} {if $total_pages_num>1} {* Скрипт для листания через ctrl ? *} {* Ссылки на соседние страницы должны иметь id PrevLink и NextLink *} <script type="text/javascript" src="js/ctrlnavigate.js"></script> <!-- Листалка страниц --> <div class="pagination"> {* Количество выводимых ссылок на страницы *} {$visible_pages = 11} {* По умолчанию начинаем вывод со страницы 1 *} {$page_from = 1} {* Если выбранная пользователем страница дальше середины "окна" - начинаем вывод уже не с первой *} {if $current_page_num > floor($visible_pages/2)} {$page_from = max(1, $current_page_num-floor($visible_pages/2)-1)} {/if} {* Если выбранная пользователем страница близка к концу навигации - начинаем с "конца-окно" *} {if $current_page_num > $total_pages_num-ceil($visible_pages/2)} {$page_from = max(1, $total_pages_num-$visible_pages-1)} {/if} {* До какой страницы выводить - выводим всё окно, но не более ощего количества страниц *} {$page_to = min($page_from+$visible_pages, $total_pages_num-1)} <div class="navigation-arrows"> {if $current_page_num==2}<a id="navigation_1_previous_page" href="{url page=null}"><span class="prev_arrow_active"> </span></a>{/if} </div> {* Ссылка на 1 страницу отображается всегда *} <div class="navigation-pages"> <a href="{url page=null}"><span class="{if $current_page_num==1}nav-current-page{/if}">1</span></a> {* Выводим страницы нашего "окна" *} {section name=pages loop=$page_to start=$page_from} {* Номер текущей выводимой страницы *} {$p = $smarty.section.pages.index+1} {* Для крайних страниц "окна" выводим троеточие, если окно не возле границы навигации *} {if ($p == $page_from+1 && $p!=2) || ($p == $page_to && $p != $total_pages_num-1)} <a href="{url page=$p}"><span class="{if $p==$current_page_num}nav-current-page{/if}">...</span></a> {else} <a href="{url page=$p}"><span class="{if $p==$current_page_num}nav-current-page{/if}">{$p}</span></a> {/if} {/section} {* Ссылка на последнююю страницу отображается всегда *} <a href="{url page=$total_pages_num}"><span class="{if $current_page_num==$total_pages_num}nav-current-page{/if}">{$total_pages_num}</span></a> </div> {if $current_page_num>2}<div class="navigation-arrows"><a href="{url page=$current_page_num-1}"><span class="disabled prev_arrow"> </span></a></div>{/if} {if $current_page_num<$total_pages_num}<div class="navigation-arrows"><a id="navigation_1_next_page" href="{url page=$current_page_num+1}"><span class="next_arrow_active"> </span></a></div>{/if} </div> <!-- Листалка страниц (The End) --> {/if} Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 23 декабря, 2014 Жалоба Поделиться Опубликовано 23 декабря, 2014 Это есть стандартно в симпле. Цитата Ссылка на сообщение Поделиться на другие сайты
Стас Опубликовано 23 декабря, 2014 Автор Жалоба Поделиться Опубликовано 23 декабря, 2014 Уважаемый Noxter, наверное если бы я знал как я бы не создал тему.Стандартно может и есть, но я вам скинул код двух файлов, тема нестандартная. Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 23 декабря, 2014 Жалоба Поделиться Опубликовано 23 декабря, 2014 Открываем стандартный шаблон, pagination.tpl и видим строчку <a href="{url page=all}">все сразу</a> Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 23 декабря, 2014 Жалоба Поделиться Опубликовано 23 декабря, 2014 Уважаемый Noxter, наверное если бы я знал как я бы не создал тему. Стандартно может и есть, но я вам скинул код двух файлов, тема нестандартная.Ну а если пораскинуть мозгами, то можно додуматься взять код со стандартной симплы. Цитата Ссылка на сообщение Поделиться на другие сайты
Стас Опубликовано 23 декабря, 2014 Автор Жалоба Поделиться Опубликовано 23 декабря, 2014 Открываем стандартный шаблон, pagination.tpl и видим строчку <a href="{url page=all}">все сразу</a> Я так делал . Но ничего. ?page=all ничего не меняет Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 23 декабря, 2014 Жалоба Поделиться Опубликовано 23 декабря, 2014 view/ProductsView.php // Постраничная навигация $items_per_page = $this->settings->products_num; // Текущая страница в постраничном выводе $current_page = $this->request->get('page', 'int'); // Если не задана, то равна 1 $current_page = max(1, $current_page); $this->design->assign('current_page_num', $current_page); // Вычисляем количество страниц $products_count = $this->products->count_products($filter); // Показать все страницы сразу if($this->request->get('page') == 'all') $items_per_page = $products_count; $pages_num = ceil($products_count/$items_per_page); $this->design->assign('total_pages_num', $pages_num); $this->design->assign('total_products_num', $products_count); $filter['page'] = $current_page; $filter['limit'] = $items_per_page; Цитата Ссылка на сообщение Поделиться на другие сайты
Стас Опубликовано 23 декабря, 2014 Автор Жалоба Поделиться Опубликовано 23 декабря, 2014 Спасибо большое Косяк! Низкий поклон! Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 23 декабря, 2014 Жалоба Поделиться Опубликовано 23 декабря, 2014 Спасибо большое Косяк! Низкий поклон!Можно было не дожидаться ответа, а сому взять этот код из оригинальной симплы, сэкономили бы себе и людям время. Цитата Ссылка на сообщение Поделиться на другие сайты
Стас Опубликовано 24 декабря, 2014 Автор Жалоба Поделиться Опубликовано 24 декабря, 2014 Можно было не дожидаться ответа, а сому взять этот код из оригинальной симплы, сэкономили бы себе и людям время.Откуда вы такой умный? А можно было вам показать мне этот код вместо того что бы разводить здесь пустые разговоры? Если бы я наверно был программистом, или просто юзером который понимает какой и откуда код брать я бы не задал тут этот вопрос.Я ж вам писал выше, если бы знал что брать и откуда я бы сделал.Вам минус к карме - . Людям, тем более если считаете что ничего сложного , нужно помогать , ибо смысл вашего тут общения, как минимум в моей теме. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.