<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум ReadyScript &mdash; Оформление заказа - use_addr(==0||>0) добавить третий вариант]]></title>
		<link>http://forum.readyscript.ru/topic/550/oformlenie-zakaza-useaddr00-dobavit-tretii-variant/</link>
		<atom:link href="http://forum.readyscript.ru/feed/rss/topic/550/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Оформление заказа - use_addr(==0||>0) добавить третий вариант».]]></description>
		<lastBuildDate>Sun, 13 Dec 2015 19:23:37 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Оформление заказа - use_addr(==0||>0) добавить третий вариант]]></title>
			<link>http://forum.readyscript.ru/post/2335/#p2335</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>Sun, 13 Dec 2015 19:23:37 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2335/#p2335</guid>
		</item>
		<item>
			<title><![CDATA[Re: Оформление заказа - use_addr(==0||>0) добавить третий вариант]]></title>
			<link>http://forum.readyscript.ru/post/2328/#p2328</link>
			<description><![CDATA[<p>С созданием фиктивного адреса куча проблем вылазит, например если покупатель вернется на шаг назад, то увидит этот адрес, т.е. его еще и шаблоне надо фильтровать.<br />А чем так страшно значение -1? Я его использую и пока проблем не обнаружил. Данные пишу в [order_extra]. AJAX я весь переписал, правда .js файл решил не использовать, т.к. у меня весь javascript лежит в .tpl шаблоне в теге &lt;script&gt;, зато smarty данные напрямую в js-объект передает. Вот так:<br /></p><div class="codebox"><pre><code>{addjs file=&quot;http://api-maps.yandex.ru/2.1/?lang=ru_RU&quot; basepath=&quot;root&quot;}

&lt;div class=&quot;imlContainer_{$delivery.id}&quot;&gt;
    &lt;button id=&quot;showMap_{$delivery.id}&quot; class=&quot;btn btn-primary btn-md&quot;&gt;Показать карту&lt;/button&gt;
&lt;/div&gt;
&lt;!-- Modal --&gt;
&lt;div class=&quot;modal fade&quot; id=&quot;mapModal&quot; tabindex=&quot;-1&quot; role=&quot;dialog&quot; aria-labelledby=&quot;mapModalLabel&quot;&gt;
    &lt;div class=&quot;modal-dialog modal-lg&quot; role=&quot;document&quot;&gt;
        &lt;div class=&quot;modal-content&quot;&gt;
            &lt;div class=&quot;modal-header&quot;&gt;
                &lt;button type=&quot;button&quot; class=&quot;close&quot; data-dismiss=&quot;modal&quot; aria-label=&quot;Отменить&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&amp;times;&lt;/span&gt;&lt;/button&gt;
                &lt;h3 class=&quot;modal-title text-center&quot; id=&quot;mapModalLabel&quot;&gt;Выбор пункта самовывоза&lt;/h3&gt;
            &lt;/div&gt;
            &lt;div class=&quot;modal-body&quot;&gt;
                
            &lt;/div&gt;
            &lt;div class=&quot;modal-footer&quot;&gt;
                {foreach json_decode($service_ids) as $code =&gt; $name}
                    &lt;div class=&quot;priceItem&quot;&gt;
                        &lt;div class=&quot;name&quot;&gt;{$name}&lt;/div&gt;
                        &lt;div class=&quot;priceText&quot; data-code=&quot;{$code}&quot;&gt;&lt;/div&gt;
                    &lt;/div&gt;
                {/foreach}
                &lt;button type=&quot;button&quot; class=&quot;btn btn-default&quot; data-dismiss=&quot;modal&quot;&gt;Отменить&lt;/button&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-primary submitModal&quot;&gt;Сохранить&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;script&gt;
jQuery(document).ready(bindHandlers);

/**
 * Начальные значения. Подгружаются через Smarty.
 * @type {*Object*}
 */
var defaultData = {
        &quot;url&quot;               :&quot;{$router-&gt;getUrl(&#039;shop-front-checkout&#039;, [&#039;Act&#039; =&gt; &#039;userAct&#039;])}&quot;,
        &quot;delivery_id&quot;        :&quot;{$delivery.id}&quot;, 
        &quot;delivery_cost_json&quot;  :{$delivery_cost_json},
        &quot;service_id&quot;         :{$service_ids},
        &quot;region_id_from&quot;      :&quot;{$region_id_from}&quot;, 
        &quot;region_id_to&quot;        :&quot;{$region_id_to}&quot;, 
        &quot;currency&quot;           :&quot;{$currency}&quot;, 
        &quot;select_id&quot;          :&quot;#selectRegionCombo_{$delivery.id}&quot;, 
        &quot;list_id&quot;            :&quot;#sdlist_{$delivery.id}&quot;, 
        &quot;loading&quot;           :&quot;&lt;div class=&#039;loading&#039;&gt;&lt;/div&gt;&quot;
    },</code></pre></div><p>PS Я хоть и по своему делаю, но вам огромное спасибо, вы мне очень помогли разобраться.</p>]]></description>
			<author><![CDATA[null@example.com (Денис)]]></author>
			<pubDate>Fri, 11 Dec 2015 15:43:31 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2328/#p2328</guid>
		</item>
		<item>
			<title><![CDATA[Re: Оформление заказа - use_addr(==0||>0) добавить третий вариант]]></title>
			<link>http://forum.readyscript.ru/post/2327/#p2327</link>
			<description><![CDATA[<p>Ну и что? Повесьтесь&nbsp; на событие сохранения заказа и просто поправьте этот адрес, на тот что будет выбран в качестве пункта самовывоза. Ну или поправьте его при выборе данного пункта. Или ещё лучше просто после сохранения у таких заказов удалите адрес, который создастся. Вот и всё.</p><p>Событие <strong>orm.afterwrite.shop-order</strong></p><p><a href="http://readyscript.ru/dev-manual/dev_hooks.html">Хуки в ReadyScript</a></p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Fri, 11 Dec 2015 07:18:52 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2327/#p2327</guid>
		</item>
		<item>
			<title><![CDATA[Re: Оформление заказа - use_addr(==0||>0) добавить третий вариант]]></title>
			<link>http://forum.readyscript.ru/post/2326/#p2326</link>
			<description><![CDATA[<div class="quotebox"><cite>Закусило Александр пишет:</cite><blockquote><p>0 и заполнить поля какими-нибудь своими данными</p></blockquote></div><p>В таком случае у пользователя создается новый объект адреса, который потом отображается в списке адресов</p>]]></description>
			<author><![CDATA[null@example.com (Денис)]]></author>
			<pubDate>Thu, 10 Dec 2015 17:57:47 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2326/#p2326</guid>
		</item>
		<item>
			<title><![CDATA[Re: Оформление заказа - use_addr(==0||>0) добавить третий вариант]]></title>
			<link>http://forum.readyscript.ru/post/2325/#p2325</link>
			<description><![CDATA[<p>0 и заполнить поля какими-нибудь своими данными, если выбрал на этапе ввода адреса Вашу галочку с самовывозом. Иначе просто оставлять поля пустыми. Просто если пользователь новый, то у него всегда будет 0 и надо записать адрес. И пусть приходит как какой-нибудь Ваш адрес записанный для данного пользователя. Он всё равно не будет этого видеть. <br />Единственное, я не знаю использует ли Ваша доставка индекс города. Скорее всего да. Но это можно обойти просто отправив запрос на Ваш обработчик внутри класса доставки и там уже заказу, при выборе пункта самовывоза передать значение выбранного индекса. Ну или поставить какой-нибудь свой индекс. Или оставить поле индекса. Вообщем вариантов много.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Thu, 10 Dec 2015 16:56:12 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2325/#p2325</guid>
		</item>
		<item>
			<title><![CDATA[Re: Оформление заказа - use_addr(==0||>0) добавить третий вариант]]></title>
			<link>http://forum.readyscript.ru/post/2324/#p2324</link>
			<description><![CDATA[<p>Спасибо, попробую с куками.<br />А какое значение use_addr использовать у нового варианта? При 0 не пройдет валидация формы, а при положительном он будет искать объект адреса. Отрицательное использовать?</p>]]></description>
			<author><![CDATA[null@example.com (Денис)]]></author>
			<pubDate>Thu, 10 Dec 2015 16:45:41 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2324/#p2324</guid>
		</item>
		<item>
			<title><![CDATA[Re: Оформление заказа - use_addr(==0||>0) добавить третий вариант]]></title>
			<link>http://forum.readyscript.ru/post/2323/#p2323</link>
			<description><![CDATA[<p>Ну запишите в куку выбор через jquery cookie, например.<br /><a href="http://stackoverflow.com/questions/1458724/how-to-set-unset-cookie-with-jquery">http://stackoverflow.com/questions/1458 … ith-jquery</a>.</p><p>А на странице доставки проверьте это значение. И если нужно выбрать радиокнопку на этапе доставки, то просто вызовите событие клика. И всё.<br /></p><div class="codebox"><pre><code>$(&#039;селектор нужной радио кнопки&#039;).click();</code></pre></div><p>У нас есть возможность передавать любые данные через поля <strong>order_extra</strong>. Но они имеют свойство выдавать в конце в карточке редактирования заказа. Ну например такое поле, для страницы с выбором адреса<br /></p><div class="codebox"><pre><code>&lt;input type=&quot;text&quot; name=&quot;order_extra[&#039;Любое имя, можно и по русски&#039;]&quot; value=&quot;{$order.order_extra.address[&#039;Любое имя, можно и по русски&#039;]}&quot;/&gt;

&lt;pre&gt;
{$order.order_extra}
&lt;/pre&gt;</code></pre></div><p>Но я думаю это вам вряд ли понадобится.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Thu, 10 Dec 2015 16:21:45 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2323/#p2323</guid>
		</item>
		<item>
			<title><![CDATA[Оформление заказа - use_addr(==0||>0) добавить третий вариант]]></title>
			<link>http://forum.readyscript.ru/post/2322/#p2322</link>
			<description><![CDATA[<p>Здравствуйте, при оформлении заказа на шаге &quot;адрес&quot; существует поле &#039;use_addr&#039;. Принцип по которому система взаимодействует с этим значением мне понятен (если 0, то чекаем поля нового адреса, а если больше, то используем как ID объекта адреса у пользователя и не чекаем поля).</p><p>Дело в том, что одно из требований моего заказчика - вывести на этапе ввода адреса еще один вариант выбора &quot;Я буду использовать пункт самовывоза&quot; где пользователь может не вводить все поля адреса, а просто выбрать регион из списка, предоставляемого агрегатором доставки. Следовательно, на следующем шаге оформления (доставка) делать априори отмеченным вариант доставки &quot;до постомата&quot;, и показывать карту выбора постомата на определенном городе.</p><p>Подскажите пожалуйста, как самой малой кровью добиться результата? Желательно инфу между страницами передавать через экстра-данные, без расширения ORM объекта Order.<br />Как надо назвать поле и в каком виде передавать в него данные для корректной записи в массив экстра-данных заказа?</p>]]></description>
			<author><![CDATA[null@example.com (Денис)]]></author>
			<pubDate>Thu, 10 Dec 2015 15:59:30 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2322/#p2322</guid>
		</item>
	</channel>
</rss>
