mart Опубликовано 24 сентября, 2011 Жалоба Поделиться Опубликовано 24 сентября, 2011 Отдельная страница по отображению всех брендов.Наконец-то опробовал новую архитектуру в действии. Кому интересно - http://blog.rlstudio.com/2011/09/simpla-2-0-vse-brendy/ Цитата Ссылка на сообщение Поделиться на другие сайты
yastranger Опубликовано 22 марта, 2012 Жалоба Поделиться Опубликовано 22 марта, 2012 очень интересно, и полезно пользователям, сможете скинуть? yastranger@ya.ru спасибо Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 22 марта, 2012 Автор Жалоба Поделиться Опубликовано 22 марта, 2012 По ссытке пройдите и сможете скачать. Цитата Ссылка на сообщение Поделиться на другие сайты
yastranger Опубликовано 22 марта, 2012 Жалоба Поделиться Опубликовано 22 марта, 2012 ааа всё, сорри, вначале не открывалась ссылка. спс Цитата Ссылка на сообщение Поделиться на другие сайты
Sudba Опубликовано 22 марта, 2012 Жалоба Поделиться Опубликовано 22 марта, 2012 Для версии 2.1.0 не подходит! Цитата Ссылка на сообщение Поделиться на другие сайты
aqaholding Опубликовано 11 февраля, 2014 Жалоба Поделиться Опубликовано 11 февраля, 2014 Да верно потому как инструкция не полная, точнее косячная. Итак по пунктам:Правим контроллер api/Brands.php:Добавляем свою функцию, которая генерирует бренды: (я вставил после функции public function delete_image($brand_id)) public function get_rand_brands($count = 2) { $brands = array(); $category_id_filter = ''; // Выбираем все бренды $query = $this->db->placehold("SELECT id, name, url, meta_title, meta_keywords, meta_description, description, image FROM __brands WHERE 1 ORDER BY RAND() LIMIT $count"); $this->db->query($query); return $this->db->results(); } Далее в файле view/IndexView.php сразу после function fetch() { вставляем: $brandni = $this->brands->get_rand_brands(15); $this->design->assign('brandni', $brandni); get_rand_brands(15) - 15 это число брендов выведенных в блоке. Теперь в шаблоне design/{ваш_шаблон}/index.tpl вместо полного списка брендов, будет выводить случайный набор:В любом месте шаблона вставьте: <h2>Производители</h2> <div class="catalog_menu"> <ul> {foreach $brandni as $brandss} <!-- Бренд --> <li> <!-- Фото бренда --> {if $brandss->image} <div><a href="brands/{$brandss->url}"><img src="./files/brands/{$brandss->image}" alt="{$brandss->name|escape}"/></a></div> {else} <!-- Фото бренда (The End) --> <!-- Название бренда --> <h3><a href="brands/{$brandss->url}">{$brandss->name|escape}</a></h3> <!-- Название бренда (The End) --> {/if} <!-- Бренд (The End)--> {/foreach} </ul> <hr> <b><center><a href="brands/">Все бренды</a><center></b> </div> Добавим с .htaccess перекидку на новый модуль — сразу после RewriteRule ^products/?$ index.php?module=ProductsView [L,QSA] Вставляем: RewriteRule ^brands/?$ index.php?module=BrandsView [L,QSA] Создаем файл подготовки данных view/BrandsView.php, который формирует данные для страницы брендов. <?PHP require_once('View.php'); class BrandsView extends View { function fetch() { // Выбираем товар из базы $this->design->assign('meta_title', 'Все производители'); $this->design->assign('meta_keywords', 'Все производители'); $this->design->assign('meta_description', 'Все производители'); $brands = $this->brands->get_brands(); $this->design->assign('brands', $brands); return $this->design->fetch('brands.tpl'); } } И теперь делаем вывод всего этого в новый шаблон design/{ваш_шаблон}/brands.tpl (этот файл нужно создать) {if $brands} <!-- Список брендов --> <ul> {foreach $brands as $brand} <!-- Бренд --> <li> <!-- Фото бренда --> {if $brand->image} <div><a href="brands/{$brand->url}"><img src="./files/brands/{$brand->image}" alt="{$brand->name|escape}"/></a></div> {/if} <!-- Фото бренда (The End) --> <!-- Название бренда --> <h3><a href="brands/{$brand->url}">{$brand->name|escape}</a></h3> <!-- Название бренда (The End) --> </li> <!-- Бренд (The End)--> {/foreach} </ul> <!-- Список брендов (The End)--> {else} Бренды не найдены<br /><br /> {/if} Вот и все работает! Пример http://s.intimdolgopa.ru Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 11 февраля, 2014 Автор Жалоба Поделиться Опубликовано 11 февраля, 2014 А в чем косячность, если не секрет? Из тех 20 с "копейками" человек, которые за более чем 2 года (как была написана статья) писали мне - особых проблем не было. Только по верстке в основном спрашивали. Скажите, что Вы переписали и в каких версиях тестировали - я поправлю статью.P.S. Извините, что я не предусмотрел в 2012 году функционал последующих версий Симплы и писаль только под версию 2.1.3 (на тот момент). Цитата Ссылка на сообщение Поделиться на другие сайты
aqaholding Опубликовано 11 февраля, 2014 Жалоба Поделиться Опубликовано 11 февраля, 2014 У многих мог не работать вывод брендов в блоге, из-за того, что вы передаете массив, а выводите ссылку из объекта.Тут необходимо было использовать цикл: {foreach $brandni as $brandss} <!-- Бренд --> <li> <!-- Фото бренда --> {if $brandss->image} <div><a href="brands/{$brandss->url}"><img src="./files/brands/{$brandss->image}" alt="{$brandss->name|escape}"/></a></div> {else} <!-- Фото бренда (The End) --> <!-- Название бренда --> <h3><a href="brands/{$brandss->url}">{$brandss->name|escape}</a></h3> <!-- Название бренда (The End) --> {/if} <!-- Бренд (The End)--> {/foreach} А так все замечательно. Цитата Ссылка на сообщение Поделиться на другие сайты
aqaholding Опубликовано 11 февраля, 2014 Жалоба Поделиться Опубликовано 11 февраля, 2014 Я просто решил ответить на тему без ответа Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 11 февраля, 2014 Автор Жалоба Поделиться Опубликовано 11 февраля, 2014 Понял К сожалению всего не учтешь... А насчет необходимости замены переменных - даже в стандартном шаблоне в некоторых местах есть загвоздка, например, связанные товары в карточке - одна и та же переменная $product. Цитата Ссылка на сообщение Поделиться на другие сайты
aqaholding Опубликовано 12 февраля, 2014 Жалоба Поделиться Опубликовано 12 февраля, 2014 Понял К сожалению всего не учтешь... А насчет необходимости замены переменных - даже в стандартном шаблоне в некоторых местах есть загвоздка, например, связанные товары в карточке - одна и та же переменная $product.Да мне пришлось некоторые переменные переназначить Цитата Ссылка на сообщение Поделиться на другие сайты
testus Опубликовано 21 декабря, 2015 Жалоба Поделиться Опубликовано 21 декабря, 2015 Если тема еще не мертва подскажите пожалуйста как в таком ключе сделать вывод товаров каждого бренда отдельно по аналогии c products / product и можно ли вытащить сначала категории товаров к которым принадлежат товары данного бренда? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 21 декабря, 2015 Жалоба Поделиться Опубликовано 21 декабря, 2015 В Симпле есть по умолчанию вывод товаров бренда:http://demo.simplacms.ru/brands/blackberryhttp://demo.simplacms.ru/brands/samsungПо поводу категорий бренда - есть решение на форуме, используйте поиск. Цитата Ссылка на сообщение Поделиться на другие сайты
adeiit Опубликовано 1 января, 2016 Жалоба Поделиться Опубликовано 1 января, 2016 Да верно потому как инструкция не полная, точнее косячная. Итак по пунктам:Правим контроллер api/Brands.php:Добавляем свою функцию, которая генерирует бренды: (я вставил после функции public function delete_image($brand_id)) public function get_rand_brands($count = 2) { $brands = array(); $category_id_filter = ''; // Выбираем все бренды $query = $this->db->placehold("SELECT id, name, url, meta_title, meta_keywords, meta_description, description, image FROM __brands WHERE 1 ORDER BY RAND() LIMIT $count"); $this->db->query($query); return $this->db->results(); } Далее в файле view/IndexView.php сразу после function fetch() { вставляем: $brandni = $this->brands->get_rand_brands(15); $this->design->assign('brandni', $brandni); get_rand_brands(15) - 15 это число брендов выведенных в блоке. Теперь в шаблоне design/{ваш_шаблон}/index.tpl вместо полного списка брендов, будет выводить случайный набор:В любом месте шаблона вставьте: <h2>Производители</h2> <div class="catalog_menu"> <ul> {foreach $brandni as $brandss} <!-- Бренд --> <li> <!-- Фото бренда --> {if $brandss->image} <div><a href="brands/{$brandss->url}"><img src="./files/brands/{$brandss->image}" alt="{$brandss->name|escape}"/></a></div> {else} <!-- Фото бренда (The End) --> <!-- Название бренда --> <h3><a href="brands/{$brandss->url}">{$brandss->name|escape}</a></h3> <!-- Название бренда (The End) --> {/if} <!-- Бренд (The End)--> {/foreach} </ul> <hr> <b><center><a href="brands/">Все бренды</a><center></b> </div> Добавим с .htaccess перекидку на новый модуль — сразу после RewriteRule ^products/?$ index.php?module=ProductsView [L,QSA] Вставляем: RewriteRule ^brands/?$ index.php?module=BrandsView [L,QSA] Создаем файл подготовки данных view/BrandsView.php, который формирует данные для страницы брендов. <?PHP require_once('View.php'); class BrandsView extends View { function fetch() { // Выбираем товар из базы $this->design->assign('meta_title', 'Все производители'); $this->design->assign('meta_keywords', 'Все производители'); $this->design->assign('meta_description', 'Все производители'); $brands = $this->brands->get_brands(); $this->design->assign('brands', $brands); return $this->design->fetch('brands.tpl'); } } И теперь делаем вывод всего этого в новый шаблон design/{ваш_шаблон}/brands.tpl (этот файл нужно создать) {if $brands} <!-- Список брендов --> <ul> {foreach $brands as $brand} <!-- Бренд --> <li> <!-- Фото бренда --> {if $brand->image} <div><a href="brands/{$brand->url}"><img src="./files/brands/{$brand->image}" alt="{$brand->name|escape}"/></a></div> {/if} <!-- Фото бренда (The End) --> <!-- Название бренда --> <h3><a href="brands/{$brand->url}">{$brand->name|escape}</a></h3> <!-- Название бренда (The End) --> </li> <!-- Бренд (The End)--> {/foreach} </ul> <!-- Список брендов (The End)--> {else} Бренды не найдены<br /><br /> {/if} Вот и все работает! Пример http://s.intimdolgopa.ru делал всё как вы говорили, но после изменения файла brands.php симпла выдала ошибку, Parse error: syntax error, unexpected T_PUBLIC in Z:\home\lec\www\api\Brands.php on line 132 Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 1 января, 2016 Жалоба Поделиться Опубликовано 1 января, 2016 Возможно, вставили в api/Brands.php в неверное место. Надо вставлять по аналогии с другими функциями (перед заключительной фигурной скобкой). Цитата Ссылка на сообщение Поделиться на другие сайты
LiveWizard Опубликовано 4 января, 2016 Жалоба Поделиться Опубликовано 4 января, 2016 У меня работает, но я использовал обычный список брендов для вывода всех, вместо: $brandni = $this->brands->get_rand_brands(15); $this->design->assign('brandni', $brandni); Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.