<?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>http://forum.readyscript.ru/topic/794/filtr-razmerov/</link>
		<atom:link href="http://forum.readyscript.ru/feed/rss/topic/794/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Фильтр размеров».]]></description>
		<lastBuildDate>Fri, 15 Dec 2017 15:52:27 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8339/#p8339</link>
			<description><![CDATA[<p>Да, действительно, перечитал тему, последний вопрос по количеству товара в разрезе размеров. </p><p>Ответ был на вопрос:<br /></p><div class="codebox"><pre><code>Данный функционал очень актуален для магазинов, которые продают одежду и обувь. Чтобы человек, зайдя в каталог товаров, мог выбрать, например, все кроссовки 41 размера и посмотреть, что есть в наличии, а не открывать 100 товаров и проверять его там.</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Ярослав)]]></author>
			<pubDate>Fri, 15 Dec 2017 15:52:27 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8339/#p8339</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8338/#p8338</link>
			<description><![CDATA[<p>Ну тут не совсем, то что нужно человеку, он скорее имеет ввиду поиск по комплектациям. А вы предлагаете поиск по наличию самого товара (общий остаток) (В фильтрах он есть всегда).</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Fri, 15 Dec 2017 08:30:19 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8338/#p8338</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8333/#p8333</link>
			<description><![CDATA[<p>Так простое решение есть. Делаем характеристику&nbsp; &quot;Размеры в наличии&quot;. После обмена с 1С ,по cron-у или просто при изменении товара, заполняем данную характеристику значениями исходя из наличия в комплектациях. <br />И эту характеристику выводите в фильтре, а не настоящий &quot;Размер&quot;.</p><p>Я делал фильтрацию по росту ползунком &quot;от и до&quot;. В каждой комплектации был заполнен &quot;рост от&quot; и &quot;рост до&quot;, а у товара выставлялось минимальное и максимальное значение роста для комплектаций в наличии.<br />Выводил в фильтр просто РОСТ.</p><div class="codebox"><pre><code>   public static function ormAfterwriteCatalogProduct(array $params, \RS\Event\Event $event) {
        if (($params[&#039;flag&#039;] == \RS\Orm\AbstractObject::INSERT_FLAG) ||
                ($params[&#039;flag&#039;] == \RS\Orm\AbstractObject::UPDATE_FLAG)) { //Если это добавление 
            $min = 99999;
            $max = 0;
            $prop_rfrom = 89; //характеристика - ростовка от
            $prop_rto = 90; //характеристика - ростовка до 
            $prop_rostovka = &#039;Ростовка&#039;; //характеристика - ростовка
            $product = $params[&#039;orm&#039;];

            $offer_api = new \Catalog\Model\OfferApi();
            $offer_api-&gt;setFilter(array(
                &#039;sortn:&gt;=&#039; =&gt; 0,
                &#039;product_id&#039; =&gt; $product[&#039;id&#039;]
            ));
            $offers = $offer_api-&gt;getList();

            foreach ($offers as $offer) {
                if ($offer[&#039;num&#039;] &gt; 0) {
                    $data = $offer[&#039;propsdata_arr&#039;][$prop_rostovka];
                    if (isset($data)) {
                        $arr = explode(&#039;-&#039;, $data, 2);

                        if ($arr[0] &lt; $min)
                            $min = preg_replace(&#039;/[^0-9]/&#039;, &#039;&#039;, $arr[0]);
                        if ($arr[1] &gt; $max)
                            $max = preg_replace(&#039;/[^0-9]/&#039;, &#039;&#039;, $arr[1]);
                    }
                   
                }
            }
            if ($max &gt; 0 &amp;&amp; $min &lt; 99999 &amp;&amp; $max &gt;= $min) {

                //выключаем ростовку от и до 
                \RS\Orm\Request::make()
                        -&gt;delete()
                        -&gt;from(new \Catalog\Model\Orm\Property\Link())
                        -&gt;where(&quot;group_id is null&quot;)
                        -&gt;whereIn(&quot;prop_id&quot;, array($prop_rfrom, $prop_rto))
                        -&gt;exec();
                $proplink_table = \RS\Orm\Tools::getTable(new \Catalog\Model\Orm\Property\Link());
                \RS\Db\Adapter::sqlExec(&quot;INSERT IGNORE INTO {$proplink_table} (site_id, prop_id, product_id,  val_int, public, xml_id)
               VALUES (1,{$prop_rfrom},{$product[&#039;id&#039;]},{$min},0,&#039;&#039;)&quot;);
                \RS\Db\Adapter::sqlExec(&quot;INSERT IGNORE INTO {$proplink_table} (site_id, prop_id, product_id,  val_int, public, xml_id)
               VALUES (1,{$prop_rto},{$product[&#039;id&#039;]},{$max},0,&#039;&#039;)&quot;);
            }
        }
    }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Ярослав)]]></author>
			<pubDate>Thu, 14 Dec 2017 13:56:52 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8333/#p8333</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8331/#p8331</link>
			<description><![CDATA[<div class="quotebox"><cite>Закусило Александр пишет:</cite><blockquote><p>Это очень напряжный запрос, который очень тяжелый и вызывает подобный гемморой. Не каждый хостинг может обечпечит адекватное время ответа и реакции. даже если кэшировать, то размер кэшей будет неадекватно велик. Это скорее частное решение, а не массовое. Тут нужен хороший сервер для таких вещей. Мы каждый год возвращаемся к этой теме, но порка не готовы представить массовое решение, которое бы нас устроило.</p></blockquote></div><p>На самом деле в одном из известных движков это реализовано, начинается на CS, но размеры там атрибутами реализованы.</p>]]></description>
			<author><![CDATA[null@example.com (ustasby)]]></author>
			<pubDate>Thu, 14 Dec 2017 12:04:08 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8331/#p8331</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8325/#p8325</link>
			<description><![CDATA[<div class="quotebox"><cite>Юрий пишет:</cite><blockquote><p>Мне тоже интересно. Пересмотрел кучу движков интернет-магазинов, почти нигде нет такой функции как вывод числовых счетчиков доступных характеристик товаров. Например выбираю у футболок размер 52 и мне показывается, что таких футболок есть красного цвета 3 варианта, зеленого 1 вариант, а голубого 0.</p><p>Это, что на самом деле так сложно сделать раз нигде нет? Настолько эксклюзивная фича получается.</p></blockquote></div><p>Это очень напряжный запрос, который очень тяжелый и вызывает подобный гемморой. Не каждый хостинг может обечпечит адекватное время ответа и реакции. даже если кэшировать, то размер кэшей будет неадекватно велик. Это скорее частное решение, а не массовое. Тут нужен хороший сервер для таких вещей. Мы каждый год возвращаемся к этой теме, но порка не готовы представить массовое решение, которое бы нас устроило.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Thu, 14 Dec 2017 08:37:47 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8325/#p8325</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8323/#p8323</link>
			<description><![CDATA[<div class="quotebox"><cite>Юрий пишет:</cite><blockquote><p>Т.е. чтобы такая штука появилась в RS это нужно вносить глобальные изменения в платформу, одним созданным модулем тут не обойтись? Я с позиции не девелопера, а продвинутого юзера смотрю на всё это.</p><p>А сколько примерно запросов к базе генерируют такие фильтры, ну чтоб хоть примерно представлять нагрузку и всю ситуацию?</p></blockquote></div><p>В интернете полно статей на эту тему, гуглите самостоятельно.</p>]]></description>
			<author><![CDATA[null@example.com (ustasby)]]></author>
			<pubDate>Wed, 13 Dec 2017 18:46:36 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8323/#p8323</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8322/#p8322</link>
			<description><![CDATA[<p>Т.е. чтобы такая штука появилась в RS это нужно вносить глобальные изменения в платформу, одним созданным модулем тут не обойтись? Я с позиции не девелопера, а продвинутого юзера смотрю на всё это.</p><p>А сколько примерно запросов к базе генерируют такие фильтры, ну чтоб хоть примерно представлять нагрузку и всю ситуацию?</p>]]></description>
			<author><![CDATA[null@example.com (Юрий)]]></author>
			<pubDate>Wed, 13 Dec 2017 16:59:47 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8322/#p8322</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8321/#p8321</link>
			<description><![CDATA[<div class="quotebox"><cite>Юрий пишет:</cite><blockquote><p>Это, что на самом деле так сложно сделать раз нигде нет? Настолько эксклюзивная фича получается.</p></blockquote></div><p>Для этого, как я выше писал, прикручиваются специализированные поисковые движки. Как вариант можно нормализовать данные и фильтры по ним делать, в любом случае это недешевое удовольствие, пользуйтесь тем что дают )) и ждите фасеточный поиск (как на том же юлмарте, хотя там это на сфинксе реализовано), уверен что про нее Александр и пишет.</p>]]></description>
			<author><![CDATA[null@example.com (ustasby)]]></author>
			<pubDate>Wed, 13 Dec 2017 16:50:20 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8321/#p8321</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8320/#p8320</link>
			<description><![CDATA[<p>Мне тоже интересно. Пересмотрел кучу движков интернет-магазинов, почти нигде нет такой функции как вывод числовых счетчиков доступных характеристик товаров. Например выбираю у футболок размер 52 и мне показывается, что таких футболок есть красного цвета 3 варианта, зеленого 1 вариант, а голубого 0.</p><p>Это, что на самом деле так сложно сделать раз нигде нет? Настолько эксклюзивная фича получается.</p>]]></description>
			<author><![CDATA[null@example.com (Юрий)]]></author>
			<pubDate>Wed, 13 Dec 2017 16:26:32 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8320/#p8320</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8319/#p8319</link>
			<description><![CDATA[<p>Представляю количество запросов к базе )) Я делал на сфинксе, любой более менее большой магазин переделывает фильтры на сфинксе либо люцене, на втором фасеточный поиск в апи реализован. Сначала индексация, потом зато одним запросом и очень быстро. Но в реализации дорого, у большинства магазинов выручка меньше, чем зарплата вменяемого программиста.</p>]]></description>
			<author><![CDATA[null@example.com (ustasby)]]></author>
			<pubDate>Wed, 13 Dec 2017 15:48:30 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8319/#p8319</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8317/#p8317</link>
			<description><![CDATA[<p>На данный момент фильтры появились по комплектация внутри товара, а в списке товаровпока нет возможности фильтровать по остаткам в разрезе комплектации, только общий остаток</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Wed, 13 Dec 2017 12:41:22 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8317/#p8317</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/8316/#p8316</link>
			<description><![CDATA[<div class="quotebox"><cite>Закусило Александр пишет:</cite><blockquote><p>Сроки пока неизвестны, что будет в итоге тоже не раскрою, но работа идёт <img src="http://forum.readyscript.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /> Всё инкогнито. Следите за обновлениями. Будет статья.</p></blockquote></div><p>Скажите пожалуйста Александр, есть ли на данный момент решение этой задачи?</p>]]></description>
			<author><![CDATA[null@example.com (Дмитрий)]]></author>
			<pubDate>Wed, 13 Dec 2017 09:15:48 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/8316/#p8316</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/4042/#p4042</link>
			<description><![CDATA[<p>Сроки пока неизвестны, что будет в итоге тоже не раскрою, но работа идёт <img src="http://forum.readyscript.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /> Всё инкогнито. Следите за обновлениями. Будет статья.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Wed, 20 Jul 2016 15:23:53 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/4042/#p4042</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/4038/#p4038</link>
			<description><![CDATA[<p>А когда планируете завершить? Я к тому предпринимать ли нам какие-то действия или лучше подождать <img src="http://forum.readyscript.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (Максим)]]></author>
			<pubDate>Wed, 20 Jul 2016 12:15:57 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/4038/#p4038</guid>
		</item>
		<item>
			<title><![CDATA[Re: Фильтр размеров]]></title>
			<link>http://forum.readyscript.ru/post/4029/#p4029</link>
			<description><![CDATA[<p>Сейчас у нас ведутся работы в направлении характеристик, мы учтём все Ваши пожелания.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Wed, 20 Jul 2016 07:25:32 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/4029/#p4029</guid>
		</item>
	</channel>
</rss>
