Правильный вывод дерева интернет магазина товара и каталогов?

#
Правильный вывод дерева интернет магазина товара и каталогов?
Доброго времени суток, в первые взялся за hostCms, перебираю работу старого "кодера". И есть там такой кусок кода..
Как его правильно реализовать на базе движка?
Выводит меню на сайте на разных страницах, вида:
- категория
-- Товар
-- Товар
И везде этот код продублирован..
Думаю перенести его в ТДС как виджет? как правильнее будет? Сейчас это находится в отдельном макете

<?php
   $connectBase = mysql_connect("localhost", "****", "*******") or die("Немогу соедениться: " .mysql_error());
   mysql_select_db('*******', $connectBase) or die ('Не могу выбрать БД');

   $q = 'SELECT id, name, path FROM shop_groups WHERE active="1" AND shop_id="5" ORDER BY name';
   $r = mysql_query($q) or die(mysql_error());

   // debug(mysql_fetch_array($r));


   function getModels($groupID, $pathGroup) {
         //по ID группы выводим все товары
         $oCore_DataBase = Core_DataBase::instance()->setQueryType(0)->query('SELECT name, path FROM shop_items WHERE shop_group_id="'.$groupID.'" AND active="1" AND deleted="0" AND shop_group_id NOT LIKE "635" ORDER BY name');
         
      
         while ($row = $oCore_DataBase->asAssoc()->current()) {
            echo '
               <li><a href="/catalog/'.$pathGroup.'/'.$row['path'].'/">'.$row['name'].'</a> </li>
            ';
            // echo '<option value="/catalog/'.$pathGroup.'/'.$row['path'].'/">'.$row['name'].'</option>';
         }
      
   }

   function getGroups() {
         //выводим все активные группы
      $q = 'SELECT id, name, path FROM shop_groups WHERE active="1" AND shop_id="5" ORDER BY name';
      $r = mysql_query($q) or die(mysql_error());

      while ($i = mysql_fetch_array($r)) {
         $id = $i['id'];
         $name = $i['name'];
         $path = $i['path'];

         echo '<li><span>'.$name.'</span>';
         
         echo '<ul>';
            getModels($id, $path);
         echo '</ul>';
         
         
         echo '</li>';
      }
   }





getGroups();
?>
#
Re: Правильный вывод дерева интернет магазина товара и каталогов?
avtogt,
Возможна вам поможет https://www.hostcms.ru/forums/2/11863/
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Правильный вывод дерева интернет магазина товара и каталогов?
Seri писал(а):
Как  виджет без xsl никак? Нашел решение для 5 версии для 6 не нашёл.. Должно получиться что-то вроде

<ul>
   <li><span>AUDI</span>
      <ul>
         <li><a href="#"> Audi A3 (2012-2016)</a></li>
         <li><a href="#">Audi A4 (2008-2015)</a></li>
      </ul>
   </li>
   <li><span>BENTLEY</span>
      <ul>
         <li><a href="#">Bentley Continental Flying Spur (2005-2013)</a></li>
      </ul>
   </li>
</ul>
#
Re: Правильный вывод дерева интернет магазина товара и каталогов?
avtogt писал(а):
мне нужно как виджет без xsl

Если говорить о выводе как Виджет то для вывода нужен шаблон xsl. Зачем жестить в РНР когда можно все это дело через контроллер организовать.
Посмотрите как это реализована в Виджетах на демо сайте http://demo.hostcms.ru/
Напоследок вот Вам еще похожая тема https://www.hostcms.ru/forums/2/11882/
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Правильный вывод дерева интернет магазина товара и каталогов?
Да уже 2 день сижу, уже скоро весь форум просмотрю.. Замудрённая документация.. Да привык к PHP, и ORM(rb_PHP) теперь тут xsl. Какие варианты есть узнать что отдаёт контроллер в xsl что бы потом обращаться уже в xsl к этим параметрам?
#
Re: Правильный вывод дерева интернет магазина товара и каталогов?
HostDev.pw - модули для HostCMS, Telegram: @hostdev
Авторизация