<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум ReadyScript &mdash; Вывод брендов принадлежащих категориям и подкатегориям в них]]></title>
		<link>https://forum.readyscript.ru/topic/478/vyvod-brendov-prinadlezhashchikh-kategoriyam-i-podkategoriyam-v-nikh/</link>
		<atom:link href="https://forum.readyscript.ru/feed/rss/topic/478/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Вывод брендов принадлежащих категориям и подкатегориям в них».]]></description>
		<lastBuildDate>Fri, 18 Jan 2019 16:31:31 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Вывод брендов принадлежащих категориям и подкатегориям в них]]></title>
			<link>https://forum.readyscript.ru/post/9415/#p9415</link>
			<description><![CDATA[<p>&lt;a href=&quot;{$brand-&gt;getUrl()}&quot;&gt;{$brand.title}&lt;/a&gt;</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Fri, 18 Jan 2019 16:31:31 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/9415/#p9415</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вывод брендов принадлежащих категориям и подкатегориям в них]]></title>
			<link>https://forum.readyscript.ru/post/9413/#p9413</link>
			<description><![CDATA[<p>а как сделать что бы бренды были кликабельные? (ссылки на бренд)</p>]]></description>
			<author><![CDATA[null@example.com (Константин)]]></author>
			<pubDate>Fri, 18 Jan 2019 14:31:23 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/9413/#p9413</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вывод брендов принадлежащих категориям и подкатегориям в них]]></title>
			<link>https://forum.readyscript.ru/post/1982/#p1982</link>
			<description><![CDATA[<p>Супер! Спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (Александр)]]></author>
			<pubDate>Wed, 23 Sep 2015 07:39:34 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/1982/#p1982</guid>
		</item>
		<item>
			<title><![CDATA[Вывод брендов принадлежащих категориям и подкатегориям в них]]></title>
			<link>https://forum.readyscript.ru/post/1981/#p1981</link>
			<description><![CDATA[<p>Была необходимость вывести категории и рядом с ними бренды. Для каждой категории бренды свои, в зависимости от выбранных брендов в товарах этой категории и подкатегорий в ней. <a href="http://forum.readyscript.ru/user/20/">Александр</a> любезно помог разобраться, в следствии чего был написан небольшой модуль.</p><p>Заходим в modules и создаем папку <strong>brandlist</strong>, в ней папки config и model.</p><br /><p>В папке <strong>config</strong> создаем файл <span class="bbu">file.inc.php</span> с пустым классом:<br /></p><div class="codebox"><pre><code>&lt;?php
namespace brandlist\Config;

class File extends \RS\Orm\ConfigObject
{

}</code></pre></div><p>В той же папке создаем файл <span class="bbu">handlers.inc.php</span>:<br /></p><div class="codebox"><pre><code>&lt;?php
namespace brandlist\Config;
use \RS\Orm\Type as OrmType;

class Handlers extends \RS\Event\HandlerAbstract
{
    function init()
    {
    }
}</code></pre></div><p>И файл конфигурации <span class="bbu">module.xml</span> (данные можете сменить на ваше усмотрение):<br /></p><div class="codebox"><pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;config&gt;
    &lt;defaultValues&gt;    
        &lt;name multilanguage=&quot;true&quot;&gt;API для брендов&lt;/name&gt;
        &lt;description multilanguage=&quot;true&quot;&gt;Выводит список брендов по категории&lt;/description&gt;        
        &lt;version&gt;1.0.0.0&lt;/version&gt;
        &lt;author&gt;qrinef&lt;/author&gt;        
    &lt;/defaultValues&gt;
&lt;/config&gt;</code></pre></div><br /><p>В папке <strong>modules</strong> создаем файл <span class="bbu">api.inc.php</span>:<br /></p><div class="codebox"><pre><code>&lt;?php
namespace brandlist\Model;

class Api
{
    /**
    * Получает список брендов по id категорий
    *
    * @param integer $category_id - id категорий
    */

    public static function brandlist($category_id) {
        $dir_api = new \Catalog\Model\DirApi();
        $dirs = $dir_api-&gt;getChildsId($category_id);

        $brands = \RS\Orm\Request::make()
            -&gt;select(&quot;B.*&quot;)
            -&gt;from(new \Catalog\Model\Orm\Brand(), &#039;B&#039;)
            -&gt;join(new \Catalog\Model\Orm\Product(), &#039;B.id=P.brand_id&#039;, &#039;P&#039;)
            -&gt;join(new \Catalog\Model\Orm\XDir(), &#039;P.id=X.product_id&#039;, &#039;X&#039;)
            -&gt;where(array(
            &#039;P.site_id&#039; =&gt; \RS\Site\Manager::getSiteId()
            ))
            -&gt;whereIn(&#039;X.dir_id&#039;, $dirs)
            -&gt;objects(&#039;\Catalog\Model\Orm\Brand&#039;);

        return $brands;
    }
}</code></pre></div><br /><p>Использовать примерно так:<br /></p><div class="codebox"><pre><code>{static_call var=brands callback=[&#039;\brandlist\Model\Api&#039;, &#039;brandlist&#039;] params=[{$dir.fields.id}]}

{if !empty($brands)}
    {foreach $brands as $brand}
        {$brand.title}
    {/foreach}
{/if}</code></pre></div><p><span class="bbu">Переменную <strong>$dir.fields.id</strong> изменить в зависимости из шаблона, в ней должен передаваться id категории.</span></p>]]></description>
			<author><![CDATA[null@example.com (Дмитрий)]]></author>
			<pubDate>Tue, 22 Sep 2015 10:29:58 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/1981/#p1981</guid>
		</item>
	</channel>
</rss>
