<?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/1037/kak-poluchit-spisok-skladov-v-adminke/</link>
		<atom:link href="https://forum.readyscript.ru/feed/rss/topic/1037/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Как получить список складов в админке».]]></description>
		<lastBuildDate>Tue, 27 Dec 2016 13:53:15 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Как получить список складов в админке]]></title>
			<link>https://forum.readyscript.ru/post/5689/#p5689</link>
			<description><![CDATA[<p>Можно конечно.<br />Нужно, чтобы вместо Вашего поля выдавался какой либо шаблон с нужной логикой, где при помощи <a href="https://readyscript.ru/dev-manual/dev_smarty_rsplugins.html#dev_smarty_rsplugins_function_static_call">static_call</a> вы подгрузите склады.<br />У Вас будет 2 поля. Одно показывает шаблон, а второе скрытое, которое обрабатывается на <a href="https://readyscript.ru/dev-manual/dev_hooks.html">2-х хуках</a>:<br />orm.afterload.КОРОТКОЕ_ИМЯ_ORM_ОБЪЕКТА - для того, чтобы получить список из подгруженного объекта<br />orm.afterwrite.КОРОТКОЕ_ИМЯ_ORM_ОБЪЕКТА - для того, чтобы сохранить список.<br />Где в отдельную таблицу сохраняется связь <strong>Ваш ORM объект-id склада</strong></p><p>Например:<br /></p><div class="codebox"><pre><code>&#039;warehouse_ids_arr&#039; =&gt; new Type\ArrayList(array(
       &#039;description&#039; =&gt; t(&#039;Массив складов&#039;),
       &#039;template&#039; =&gt; &#039;%имяпапкимодуля%/forms/warehouses/warehouses.tpl&#039;
)),
&#039;warehouse_ids&#039; =&gt; new Type\ArrayList(array(
       &#039;description&#039; =&gt; t(&#039;Склады сериализованное поле&#039;),
       &#039;visible&#039; =&gt; false
)),</code></pre></div><p>В шаблоне через <a href="https://readyscript.ru/dev-manual/dev_smarty_rsplugins.html#dev_smarty_rsplugins_function_static_call">static_call</a> загружаем список.<br /></p><div class="codebox"><pre><code>{static_call var=mylist callback=[&#039;\Catalog\Model\WarehouseApi&#039;, &#039;staticSelectList&#039;]}</code></pre></div><p>В этом же шаблону нужно будет вывести галочки и проверить отмеченные в поле <strong>warehouse_ids_arr</strong>.</p><p>В <strong>afterwrite</strong> хуке собираем галочки:<br /></p><div class="codebox"><pre><code>$orm[&#039;warehouse_ids&#039;] = @serialize($orm[&#039;warehouse_ids_arr&#039;]);</code></pre></div><p>В beforewrite хуке получаем отмеченные после сохранения:<br /></p><div class="codebox"><pre><code>$orm[&#039;warehouse_ids_arr&#039;] = @unserialize($orm[&#039;warehouse_ids&#039;]);</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Tue, 27 Dec 2016 13:53:15 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/5689/#p5689</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как получить список складов в админке]]></title>
			<link>https://forum.readyscript.ru/post/5686/#p5686</link>
			<description><![CDATA[<p>сработало, но нужно прятать больше одного, соответственно лист не подходит.<br />насколько понимаю, нужно вывести список названий и айдишников + контрол к каждому из них в виде чекбокса и, соответственно, при включении чекбокса айдишник должен добавляться в текстовое поле в базу при сохранении.</p><p>при переоткрытии окна должно читаться поле из базы и соответствующие чекбоксы должны проставляться включёнными.</p><p>ну это мне так видится, но я думаю вы можете подсказать способ получше, если он есть.</p>]]></description>
			<author><![CDATA[null@example.com (Алексей)]]></author>
			<pubDate>Tue, 27 Dec 2016 11:33:30 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/5686/#p5686</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как получить список складов в админке]]></title>
			<link>https://forum.readyscript.ru/post/5685/#p5685</link>
			<description><![CDATA[<p>Вы можете вызвать метод API <strong>staticSelectList</strong> он есть в любом апи которое нужно. В данном случае<br /><strong>\Catalog\Model\WarehouseApi</strong>.<br />Например в ORM объекте<br /></p><div class="codebox"><pre><code>&#039;warehouse_id&#039; =&gt; new Type\Integer(array(
                    &#039;description&#039; =&gt; t(&#039;Склад&#039;),
                    &#039;list&#039; =&gt; array(array(&#039;\Catalog\Model\WarehouseApi&#039;, &#039;staticSelectList&#039;)))
                ))</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Tue, 27 Dec 2016 08:01:08 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/5685/#p5685</guid>
		</item>
		<item>
			<title><![CDATA[Как получить список складов в админке]]></title>
			<link>https://forum.readyscript.ru/post/5679/#p5679</link>
			<description><![CDATA[<p>Добрый день,<br />Хочу написать модуль который будет скриптом проходить по любой странице магазина и в зависимости от категории убирать из вёрстки определённые склады.<br />Сам скрипт уже есть и работает, но теперь хочу прикрутить к нему управление из админки.<br />Как добавлять вкладки категориям разобрался (спасибо роликам Александра), но теперь неясно как в одну из вкладок вывести список всех складов с их id.</p><p>Подскажите пожалуйста.<br />Спасибо</p><p>PS: в идеале, конечно, нужен функционал отображения складов для категорий, но, я так понимаю, такой функционал не планируется.</p>]]></description>
			<author><![CDATA[null@example.com (Алексей)]]></author>
			<pubDate>Mon, 26 Dec 2016 14:25:20 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/5679/#p5679</guid>
		</item>
	</channel>
</rss>
