Kevin Опубликовано 8 августа, 2015 Жалоба Поделиться Опубликовано 8 августа, 2015 (изменено) Поправил файл View.php, усталоновил лимит в 6 отображаемых товаров( $items_per_page = 6, отмеченных как "Рекомендуемый", в админ.панели стоит лимит в 12 шт. В итоге - выводится по 12 шт и на главной в Рекоменд. товарах и по 12 шт в каталоге. Что-то здесь не так.... Но на главной не выводит пагинацию. Куда копать? View.php $params['featured'] = 1; if(!empty($params['var'])) { // Постраничная навигация $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($params); // Показать все страницы сразу if($this->request->get('page') == 'all') $items_per_page = 6; $pages_num = ceil($products_count/$items_per_page); $this->design->assign('total_pages_num', $pages_num); $this->design->assign('total_products_num', $products_count); $params['page'] = $current_page; $params['limit'] = $items_per_page; foreach($this->products->get_products($params) as $p) $products[$p->id] = $p; if(!empty($products)) { // id выбранных товаров $products_ids = array_keys($products); // Выбираем варианты товаров $variants = $this->variants->get_variants(array('product_id'=>$products_ids, 'in_stock'=>true)); // Для каждого варианта foreach($variants as &$variant) { // добавляем вариант в соответствующий товар $products[$variant->product_id]->variants[] = $variant; } // Выбираем изображения товаров $images = $this->products->get_images(array('product_id'=>$products_ids)); foreach($images as $image) $products[$image->product_id]->images[] = $image; foreach($products as &$product) { if(isset($product->variants[0])) $product->variant = $product->variants[0]; if(isset($product->images[0])) $product->image = $product->images[0]; } } $smarty->assign($params['var'], $products); } Main.tpl <div class="goods"> <div class='goods-inner'> {* Рекомендуемые товары *} {get_featured_products var=featured_products} {if $featured_products} <!-- Список товаров--> {foreach $featured_products as $product} <div class="goods-item" style="height:510px;"> <table style="height:100%" border=0> <tr> <td style="height:215px;"> <a href="products/{$product->url}"> <img class='goods-image' src="{$product->image->filename|resize:282:282}" alt="{$product->name|escape}"/> </a></td> </tr> <tr> <td style="height:30px;"> <div class="descr" style="height:72px;"> <div style="margin-bottom:10px;" class="h4">{$product->name|escape} <img style="margin-right:10px;margin-top:-2px;border-bottom: 0px solid #E9E9E9;float:right;width:76px;" src="/img/logos/{$product->brand}.png"/></div> <p style="font-size:13px;">{$product->artikul|escape}</p> </div> </td> </tr> <tr> <td style="height:45px;border:0px solid;"> <div class="descr" style="margin-top:-10px;"> <p class="price"><s>{$product->old_price|convert} руб.</s><span>{$product->price|convert}</span> руб.</p> </div> </td> </tr> <tr> <td style="vertical-align:top;"> <div style="margin-top:-10px;"> <a href="products/{$product->url}" class="order-btn">купить</a></div> </td> </tr> <div class=pls><b class=ch0></b></div> </table> </div> <!-- Товар (The End)--> {/foreach} {/if} </div> <br class=cls><br> </div> <div class="pages">{include file='pagination.tpl'}</div> Изменено 8 августа, 2015 пользователем Kevin Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 8 августа, 2015 Жалоба Поделиться Опубликовано 8 августа, 2015 Поправил файл View.php, усталоновил лимит в 6 отображаемых товаров( $items_per_page = 6 , отмеченных как "Рекомендуемый", в админ.панели стоит лимит в 12 шт. В итоге - выводится по 12 шт и на главной в Рекоменд. товарах и по 12 шт в каталоге. Что-то здесь не так.... Но на главной не выводит пагинацию. Куда копать?Скорее всего, в строке $this->design->assign('total_pages_num', $pages_num); присваивается кол-во 1, и потому не выводится пагинация (1 страницу смысла выводить нет). А вообще Вы бы подумали, что хотите получить, прежде чем изобретать велосипед. 1. Главная - на то и главная, что она ОДНА. А с пагинацией - будет много главных? 2. Рекомендуемые на то и рекомендуемые, чтобы небольшое их к-во выделить из моря товаров. А если у Вас рекомендуемых много страниц, то какой в них смысл - так же покупатель потеряется. 3. На главной есть еще, например, акционные. Если еще на них повесите пагинацию, будет совсем круто с точки зрения программной реализации - две пагинации по двум спискам, но полное безобразие с точки зрения практической, SEO и проч... Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 8 августа, 2015 Жалоба Поделиться Опубликовано 8 августа, 2015 почему просто не юзать какой-то слайдер с навигацией? Цитата Ссылка на сообщение Поделиться на другие сайты
Kevin Опубликовано 8 августа, 2015 Автор Жалоба Поделиться Опубликовано 8 августа, 2015 Проблема в другом - просто игнорируется $items_per_page = 6; , а выставляется то значение, которое выставлено в админ. панели в качестве максимального. Товара отмечено больше 12 шт как Рекомендуемые, а пагинация все-равно не выводится.Слайдер для рекоменд. товаров? Даже не думал об этом, надеюсь в штатных средствах есть отображение. Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 8 августа, 2015 Жалоба Поделиться Опубликовано 8 августа, 2015 Проблема в другом - просто игнорируется $items_per_page = 6; , а выставляется то значение, которое выставлено в админ. панели в качестве максимального. Товара отмечено больше 12 шт как Рекомендуемые, а пагинация все-равно не выводится.Слайдер для рекоменд. товаров? Даже не думал об этом, надеюсь в штатных средствах есть отображение. сделайте что-то такое http://owlgraphic.com/owlcarousel и будет вам счастье Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 8 августа, 2015 Жалоба Поделиться Опубликовано 8 августа, 2015 Проблема в другом - просто игнорируется $items_per_page = 6; , а выставляется то значение, которое выставлено в админ. панели в качестве максимального.Скрипт работает в точности так, как Вы запрограммировали. Если написано $items_per_page =6;, это не значит что ВСЕГДА будет присваиваться значение. Вы сами в своих представлениях игнорируете условие, которые перед этой строкой присутствует... Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.