![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
Активный участник ![]() ![]() ![]() Группа: Модератор Сообщений: 2675 Регистрация: 30.12.2009 Из: Самара Пользователь №: 213 Версия CMS Free: 34 Создано сайтов: Достаточно много ![]() |
Если у вас много блоков, а выводить их хочется все, но на странице нет для всех место. Можно ограничить количество блоков на странице выводимых за раз.
И выводить их рандомно (в случайном порядке) по несколько штук 1. в auotoloadinc.php добавить сразу после <?php Где цифра 5 - лимит на выведение блоков на странице Код class PHPShopTextElementRandom extends PHPShopElements { /** * Конструктор */ function PHPShopTextElementRandom() { // Отладка $this->debug=false; // Имя БД $this->objBase=$GLOBALS['SysValue']['base']['table_name14']; parent::PHPShopElements(); } /** * Вывод правых текстовых блоков для навигации * @return string */ function rightMenu() { $dis=''; $PHPShopOrm = &new PHPShopOrm($this->objBase); $data = $PHPShopOrm->select(array('*'),array("flag"=>"='1'",'element'=>"='1'"),array('order'=>'RAND()'),array("limit"=>5)); $i=0; $max=5; // кол-во блоков if(is_array($data)) foreach($data as $row) { if($i<$max){ if(empty($row['dir'])) { // Определяем переменые $this->set('leftMenuName',$row['name']); $this->set('leftMenuContent',Parser($row['content'])); $dis.=$this->parseTemplate($this->getValue('templates.right_menu')); } else { $dirs= explode(",",$row['dir']); foreach($dirs as $dir) if($dir==$_SERVER['REQUEST_URI']) { $this->set('leftMenuName',$row['name']); $this->set('leftMenuContent',$row['content']); // Подключаем шаблон $dis.=$this->parseTemplate($this->getValue('templates.right_menu')); } } $i++; } } return $dis; } } 2. В вашем шаблоне в файлах index.tpl и shop.tpl меняем @rightMenu@ или @leftMenu@ на Код @php
$PHPShopTextElementRandom = new PHPShopTextElementRandom(); echo $PHPShopTextElementRandom->rightMenu(); php@ |
|
|
![]()
Сообщение
#2
|
|
Новичок ![]() Группа: Пользователи Сообщений: 6 Регистрация: 27.6.2013 Пользователь №: 4206 Версия CMS Free: 4 3 Создано сайтов: 1 ![]() |
А как саздовать новые блоки в phpshop, например такие как акции, новинки?
|
|
|
![]()
Сообщение
#3
|
|
Администратор ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 5911 Регистрация: 20.8.2009 Из: Москва Пользователь №: 1 Версия CMS Free: 3.3 ![]() |
А как саздовать новые блоки в phpshop, например такие как акции, новинки? http://forum.phpshopcms.ru/index.php?showtopic=2095 |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 10.12.2019, 14:49 |