<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум ReadyScript &mdash; Добавить поиск в собственный модуль]]></title>
	<link rel="self" href="https://forum.readyscript.ru/feed/atom/topic/1310/" />
	<updated>2017-12-15T08:24:36Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.readyscript.ru/topic/1310/dobavit-poisk-v-sobstvennyi-modul/</id>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8336/#p8336" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Илья пишет:</cite><blockquote><div class="quotebox"><cite>Закусило Александр пишет:</cite><blockquote><p>Потому, что при группировке по статусу, все записи объединяются в одну принадлежающую этому полю значению. <br /><a href="http://www.mysql.ru/docs/man/Group_by_functions.html">http://www.mysql.ru/docs/man/Group_by_functions.html</a><br /><a href="https://ru.stackoverflow.com/questions/599772/%D0%9A%D0%B0%D0%BA-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-group-by-%D0%B2-mysql">https://ru.stackoverflow.com/questions/ … 0%B2-mysql</a></p></blockquote></div><p>Я это понимаю. Не правильно поставил вопрос.Можно ли как то сделать, группировку вот таким видом?<br />Т.е. сейчас получается вот так выводиться<br />Товаров&nbsp; 4шт. со статусом Оплачен<br />Товаров&nbsp; 7шт. со статусом Подтвержден</p><p>А можно ли сделать, вот так?<br />Товаров А&nbsp; 3шт. со статусом Оплачен<br />Товаров А&nbsp; 2шт. со статусом Подтвержден<br />Товаров Б&nbsp; 1шт. со статусом Оплачен<br />Товаров Б&nbsp; 5шт. со статусом Подтвержден<br />......<br />...<br />...</p></blockquote></div><p>Ну сгруппируйте по id самого товара и всё</p>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>https://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2017-12-15T08:24:36Z</updated>
			<id>https://forum.readyscript.ru/post/8336/#p8336</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8335/#p8335" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Сергей пишет:</cite><blockquote><p>Офтопну, тему создавать не хотел <img src="https://forum.readyscript.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /><br />Кто-нибудь тестил вот этот поиск? <a href="https://maksfedorov.ru/blog/all/poisk-yandeksa-dlya-internet-magazinov/">https://maksfedorov.ru/blog/all/poisk-y … magazinov/</a></p></blockquote></div><p>Пока не тестировал, но интересно.</p>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>https://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2017-12-15T08:08:36Z</updated>
			<id>https://forum.readyscript.ru/post/8335/#p8335</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8334/#p8334" />
			<content type="html"><![CDATA[<p>Офтопну, тему создавать не хотел <img src="https://forum.readyscript.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /><br />Кто-нибудь тестил вот этот поиск? <a href="https://maksfedorov.ru/blog/all/poisk-yandeksa-dlya-internet-magazinov/">https://maksfedorov.ru/blog/all/poisk-y … magazinov/</a></p>]]></content>
			<author>
				<name><![CDATA[Сергей]]></name>
				<uri>https://forum.readyscript.ru/user/27/</uri>
			</author>
			<updated>2017-12-14T21:25:25Z</updated>
			<id>https://forum.readyscript.ru/post/8334/#p8334</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8329/#p8329" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Закусило Александр пишет:</cite><blockquote><p>Потому, что при группировке по статусу, все записи объединяются в одну принадлежающую этому полю значению. <br /><a href="http://www.mysql.ru/docs/man/Group_by_functions.html">http://www.mysql.ru/docs/man/Group_by_functions.html</a><br /><a href="https://ru.stackoverflow.com/questions/599772/%D0%9A%D0%B0%D0%BA-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-group-by-%D0%B2-mysql">https://ru.stackoverflow.com/questions/ … 0%B2-mysql</a></p></blockquote></div><p>Я это понимаю. Не правильно поставил вопрос.Можно ли как то сделать, группировку вот таким видом?<br />Т.е. сейчас получается вот так выводиться<br />Товаров&nbsp; 4шт. со статусом Оплачен<br />Товаров&nbsp; 7шт. со статусом Подтвержден</p><p>А можно ли сделать, вот так?<br />Товаров А&nbsp; 3шт. со статусом Оплачен<br />Товаров А&nbsp; 2шт. со статусом Подтвержден<br />Товаров Б&nbsp; 1шт. со статусом Оплачен<br />Товаров Б&nbsp; 5шт. со статусом Подтвержден<br />......<br />...<br />...</p>]]></content>
			<author>
				<name><![CDATA[Илья]]></name>
				<uri>https://forum.readyscript.ru/user/286/</uri>
			</author>
			<updated>2017-12-14T08:53:05Z</updated>
			<id>https://forum.readyscript.ru/post/8329/#p8329</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8328/#p8328" />
			<content type="html"><![CDATA[<p>Потому, что при группировке по статусу, все записи объединяются в одну принадлежающую этому полю значению. <br /><a href="http://www.mysql.ru/docs/man/Group_by_functions.html">http://www.mysql.ru/docs/man/Group_by_functions.html</a><br /><a href="https://ru.stackoverflow.com/questions/599772/%D0%9A%D0%B0%D0%BA-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-group-by-%D0%B2-mysql">https://ru.stackoverflow.com/questions/ … 0%B2-mysql</a></p>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>https://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2017-12-14T08:49:43Z</updated>
			<id>https://forum.readyscript.ru/post/8328/#p8328</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8327/#p8327" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Закусило Александр пишет:</cite><blockquote><div class="codebox"><pre><code>-&gt;groupby(&#039;status&#039;)</code></pre></div></blockquote></div><p>Таким образом выводит всего 3 записи. <a href="http://joxi.ru/l2ZxlDRt8yEnNr">http://joxi.ru/l2ZxlDRt8yEnNr</a><br />А если воспользоваться поиском то работает как надо. Но почему выводит только3 записи на первой странице?</p>]]></content>
			<author>
				<name><![CDATA[Илья]]></name>
				<uri>https://forum.readyscript.ru/user/286/</uri>
			</author>
			<updated>2017-12-14T08:41:24Z</updated>
			<id>https://forum.readyscript.ru/post/8327/#p8327</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8326/#p8326" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>-&gt;groupby(&#039;status&#039;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>https://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2017-12-14T08:39:49Z</updated>
			<id>https://forum.readyscript.ru/post/8326/#p8326</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8324/#p8324" />
			<content type="html"><![CDATA[<p>Подскажите пожалуйста, как в данном случае сгруппировать товары, по одинаковому статусу?<br /><a href="http://joxi.ru/p274bd9i0dWkZA">http://joxi.ru/p274bd9i0dWkZA</a></p><p>Запрос такого вида<br /></p><div class="codebox"><pre><code>        $q-&gt;select(&#039;amount,title,status,order_id&#039;)
            -&gt;join(new \Shop\Model\Orm\Order(), &#039;A.order_id=B.id&#039;, &#039;B&#039;)
            -&gt;whereIn(&#039;status&#039;, array(&#039;2&#039;,&#039;3&#039;,&#039;6&#039;,&#039;14&#039;))
            -&gt;where(array(&#039;type&#039; =&gt; &quot;product&quot;
                            ))
            -&gt;orderby(&#039;title&#039;);</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Илья]]></name>
				<uri>https://forum.readyscript.ru/user/286/</uri>
			</author>
			<updated>2017-12-14T08:35:10Z</updated>
			<id>https://forum.readyscript.ru/post/8324/#p8324</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/7553/#p7553" />
			<content type="html"><![CDATA[<p>Напишите в поддержку. Покопаем.</p>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>https://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2017-07-26T07:51:12Z</updated>
			<id>https://forum.readyscript.ru/post/7553/#p7553</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/7540/#p7540" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Закусило Александр пишет:</cite><blockquote><p>Надо добавть через groupby поле title, а в поле с количеством добавить в select комманду SUM(&#039;Нужное поле с количеством&#039;) As Нужное поле с количеством</p></blockquote></div><p>Подскажите в чем ошибка?<br />Должно быть записей <strong>всего записей: 2928</strong>, но после того как вставляю вот этоткод<br /></p><div class="codebox"><pre><code>        $helper = parent::helperIndex();
        $edit_href = $this-&gt;router-&gt;getAdminPattern(&#039;edit&#039;, array(&#039;:id&#039; =&gt; &#039;@id&#039;));
        $q = $this-&gt;api-&gt;queryObj();
        $q-&gt;select(&#039;SUM(amount) as amount&#039;)
            -&gt;join(new \Shop\Model\Orm\Order(), &#039;A.order_id=B.id&#039;, &#039;B&#039;)
            -&gt;where(array(&#039;status&#039; =&gt; &quot;2&quot;,
                          &#039;type&#039; =&gt; &quot;product&quot;
                            ))
            -&gt;groupby(&#039;title&#039;);</code></pre></div><p>Получается вот так<br /><a href="http://radikal.ru"><span class="postimg"><img src="http://s019.radikal.ru/i628/1707/6f/9af2e868705b.png" alt="http://s019.radikal.ru/i628/1707/6f/9af2e868705b.png" /></span></a></p><p>Вот так выглядит запрос<br />SELECT *, SUM(amount) as amount FROM `opt`.`tzte_order_items` as A INNER JOIN `opt`.`tzte_order` as B ON A.order_id=B.id WHERE (`status` = &#039;2&#039; AND `type` = &#039;product&#039;) GROUP BY title</p><p>Если загрузить его в phpmyadmin, то запрос выполняется верно, а почему тогда выводит не правильно?</p><p>P.S. <br />Код работает правильно, свои функции выполняет как нужно. НО заметил что проблема в пагинаторе появляется после того как я вставляю этот код а имеено: показывает неправильное количество страниц (всего 1) и количество записей, с чем это связано?<br /><a href="http://joxi.ru/8AnbpyoUqzOR9A">http://joxi.ru/8AnbpyoUqzOR9A</a></p>]]></content>
			<author>
				<name><![CDATA[Илья]]></name>
				<uri>https://forum.readyscript.ru/user/286/</uri>
			</author>
			<updated>2017-07-25T05:30:21Z</updated>
			<id>https://forum.readyscript.ru/post/7540/#p7540</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/7537/#p7537" />
			<content type="html"><![CDATA[<p>Надо добавть через groupby поле title, а в поле с количеством добавить в select комманду SUM(&#039;Нужное поле с количеством&#039;) As Нужное поле с количеством</p>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>https://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2017-07-24T14:50:55Z</updated>
			<id>https://forum.readyscript.ru/post/7537/#p7537</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/7535/#p7535" />
			<content type="html"><![CDATA[<p>А еще такой вопрос, как сложить количество одинаковых товарных позиций ?Я вот скрин приложил, там видно одинаковые позиции, а как это все объеденить в одну строку, что бы количество суммировалось?<br /><a href="http://joxi.ru/Q2K1LMYS9LkDRr">http://joxi.ru/Q2K1LMYS9LkDRr</a></p>]]></content>
			<author>
				<name><![CDATA[Илья]]></name>
				<uri>https://forum.readyscript.ru/user/286/</uri>
			</author>
			<updated>2017-07-24T10:06:53Z</updated>
			<id>https://forum.readyscript.ru/post/7535/#p7535</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/7528/#p7528" />
			<content type="html"><![CDATA[<p>Извините за долгий ответ.<br />Тут магии нет. Для того что бы фильтровать по title, нужно, чтобы в запросах была таблица включающая title поле. Я так полагаю это товар. Т.е. когда вы добавляете фильтр, то отправленное значение из поля применяется к запросу. Вам надо вывести итоговую таблицу Вашего запроса в контроллере и посмотреть, а есть ли там вообще колонка title и есть ли там значения. Если всё есть, то я наверное посоветовал бы Вам добавить неточное соответствие в колонку иначе у Вас будет искаться совершенно точное соответствие.<br /></p><div class="codebox"><pre><code>new TableType\String(&#039;title&#039;, t(&#039;Название товара&#039;), array(&#039;SearchType&#039; =&gt; &#039;%like%&#039;)), </code></pre></div>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>https://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2017-07-24T07:48:33Z</updated>
			<id>https://forum.readyscript.ru/post/7528/#p7528</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Добавить поиск в собственный модуль]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/7518/#p7518" />
			<content type="html"><![CDATA[<p>Подскажите пожалуйста как добавить в собственный модуль поиск по товарам?<br />Мой модуль выводит товары которые есть в заказах с определенным статусом и показывает их количество. <br />Подскажите как мне добавить поиск по этим товарам?Поиск по номеру заказа вроде бы работает, а вот по наименованию товара нет</p><p>remainctrl.inc.php<br /></p><div class="codebox"><pre><code>&lt;?php
namespace Newpage\Controller\Admin;
use \RS\Html\Table\Type as TableType,            
    \RS\Controller\Admin\Helper,
    \RS\Html\Toolbar\Button as ToolbarButton,
    \RS\Html\Toolbar,
    \RS\Html\Filter,
    \RS\Html\Table,
    \RS\Html\Tree,
    \Shop\Model;
    
class RemainCtrl extends \RS\Controller\Admin\Crud
{
        function __construct()
    {
         parent::__construct(new \Newpage\Model\RemainApi());
    }
    
    function helperIndex()
    {
           
        
        $helper = parent::helperIndex();
        $edit_href = $this-&gt;router-&gt;getAdminPattern(&#039;edit&#039;, array(&#039;:id&#039; =&gt; &#039;@id&#039;));
        $q = $this-&gt;api-&gt;queryObj();
        $q-&gt;join(new \Shop\Model\Orm\Order(), &#039;A.order_id=B.id&#039;, &#039;B&#039;)
            -&gt;where(array(&#039;status&#039; =&gt; &quot;2&quot;,
                          &#039;type&#039; =&gt; &quot;product&quot;
                            ));
            
        $helper = parent::helperIndex();
        $helper-&gt;setTopTitle(t(&#039;Количество товаров в заказе&#039;));
        $edit_pattern = $this-&gt;router-&gt;getAdminPattern(&#039;edit&#039;, array(&#039;:id&#039; =&gt; &#039;@id&#039;));
        $helper-&gt;setTable(new Table\Element(array(
            &#039;Columns&#039; =&gt; array(         
                new TableType\Text(&#039;order_num&#039;, t(&#039;Номер&#039;), array(&#039;Sortable&#039; =&gt; SORTABLE_BOTH, &#039;href&#039; =&gt; $edit_href) ),
                new TableType\String(&#039;title&#039;, t(&#039;Название товара&#039;)), 
                new TableType\Text(&#039;amount&#039;, t(&#039;Количество&#039;), array(&#039;Sortable&#039; =&gt; SORTABLE_BOTH, &#039;href&#039; =&gt; $edit_href) ),           
        ))));

        $helper-&gt;setFilter(new Filter\Control( array(
             &#039;Container&#039; =&gt; new Filter\Container( array( 
                                &#039;Lines&#039; =&gt;  array(
                                    new Filter\Line( array(&#039;Items&#039; =&gt; array(
                                                            new Filter\Type\Text(&#039;order_num&#039;,&#039;№&#039;, array(&#039;attr&#039; =&gt; array(&#039;class&#039; =&gt; &#039;w50&#039;)))
                                                        )
                                    )),
                                    
                                ),
                                &#039;SecContainer&#039; =&gt; new Filter\Seccontainer( array(
                                    &#039;Lines&#039; =&gt; array(
                                        new Filter\Line( array(&#039;Items&#039; =&gt; array(
                                                new \Shop\Model\HtmlFilterType\Product(&#039;PRODUCT.title&#039;, t(&#039;Наименование товара&#039;), array(&#039;searchType&#039; =&gt; &#039;%like%&#039;)),
                                        ))),
                                    )
                                ))
                            )),
            &#039;Caption&#039; =&gt; t(&#039;Поиск по заказам&#039;)
        )));

        return $helper;
    }
    
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Илья]]></name>
				<uri>https://forum.readyscript.ru/user/286/</uri>
			</author>
			<updated>2017-07-18T06:22:11Z</updated>
			<id>https://forum.readyscript.ru/post/7518/#p7518</id>
		</entry>
</feed>
