<?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="http://forum.readyscript.ru/feed/atom/topic/407/" />
	<updated>2015-06-25T10:10:31Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.readyscript.ru/topic/407/kak-sdelat-zapros-k-korzine-i-ee-obnovit/</id>
		<entry>
			<title type="html"><![CDATA[Re: Как сделать запрос к корзине и её обновить.]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1529/#p1529" />
			<content type="html"><![CDATA[<p>это id маршрута. У нас используется система маршрутов. Т.е. по маршрутам запрашивается определённый блок. Или фронт контроллер.<br /><a href="http://readyscript.ru/dev-manual/dev_routing.html">Маршруты в ReadyScript</a></p><p>shop-block-cart = /modules/shop/contoller/block/cart.inc.php</p><p>Вы же когда ссылку на купить товар подставляете у Вас используется <br /></p><div class="codebox"><pre><code>{$router-&gt;getUrl(&#039;shop-front-cartpage&#039;, [&quot;add&quot; =&gt; $product.id])}</code></pre></div><p>shop-front-cartpage = /modules/shop/controller/front/cartpage.inc.php<br />Просто для фронт контроллер есть свои псевдонимы, иначе бы в ссылке оказалось бы shop-front-cartpage</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-06-25T10:10:31Z</updated>
			<id>http://forum.readyscript.ru/post/1529/#p1529</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как сделать запрос к корзине и её обновить.]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1528/#p1528" />
			<content type="html"><![CDATA[<p>хотел уточнить<br /></p><div class="codebox"><pre><code>shop-block-cart</code></pre></div><p>это что? стиль id ?? или системное имя какое то?</p><div class="codebox"><pre><code>{$router-&gt;getUrl(&#039;shop-block-cart&#039;)}&quot;</code></pre></div><p>вот тут вот которое</p>]]></content>
			<author>
				<name><![CDATA[Николай]]></name>
				<uri>http://forum.readyscript.ru/user/13/</uri>
			</author>
			<updated>2015-06-25T10:09:05Z</updated>
			<id>http://forum.readyscript.ru/post/1528/#p1528</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как сделать запрос к корзине и её обновить.]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1527/#p1527" />
			<content type="html"><![CDATA[<p>Вам надо запросить блок контроллер корзины Аяксом, система поймёт, что это аякс и ответит содержимым блок контроллера, он сгенерирует html и ответит json ответом, где будет как раз тот html. </p><p>Как запросить данный блок контроллер?</p><p>url на блок контроллер корзины будет такой:<br /></p><div class="codebox"><pre><code>{$router-&gt;getUrl(&#039;shop-block-cart&#039;)}</code></pre></div><p>Соответственно его надо записать в шаблоне. Я предлагаю записать его в атрибут data-url у оборачивающего контейнера Вашего блока с краткой корзиной. Например:<br /></p><div class="codebox"><pre><code>&lt;div id=&quot;cartBlockWrapper&quot; data-url=&quot;{$router-&gt;getUrl(&#039;shop-block-cart&#039;)}&quot;&gt;
...
&lt;/div&gt;</code></pre></div><p>Вот из этого дива можно будет потом взять значение из data-url<br />За отправку запроса на добавление товара отвечает скрипт с именем common.js. Как только запрос с добавлением корзины будет успешно выполнен, Вам надо будет отослать запрос на получение корзины. <br />Самая последняя функция которая срабатывает в данном скрипте это updateCartBlock. Она как раз ловит ответ от корзны с краткими сведениями. Вот в конце неё надо будет Вам вызвать этот ajax запрос. Адрес можно взять из оборачивающего контейнера, для приведённого нашего случаю это будет так: <br /></p><div class="codebox"><pre><code>var url = $(&quot;#cartBlockWrapper&quot;).data(&#039;url&#039;); </code></pre></div><p>Отработать его и заменить содержимое оборачивающего контейнера блока корзины Вашей (cartBlockWrapper как оговаривалось выше).<br />Для того, чтобы увидеть, что приходит от сервера воспользуйтесь командой <strong>console.log();</strong> и панелью консоли в FireFox например.</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-06-25T10:06:36Z</updated>
			<id>http://forum.readyscript.ru/post/1527/#p1527</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Как сделать запрос к корзине и её обновить.]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1526/#p1526" />
			<content type="html"><![CDATA[<p>Здравствуйте, интересует вопрос по корзине. Создал свою тему для сайта. В любом месте где есть добавить товар в корзину стоит кнопка &lt;a href=&quot;{$router-&gt;getUrl(&#039;shop-front-cartpage&#039;, [&quot;add&quot; =&gt; $product.id])}&quot; class=&quot;button button--h35 button--pink button--to-cart&quot;&gt;В корзину&lt;/a&gt; </p><p>Сама корзина реализована модальным окном которая присутствует на всех страницах </p><p>{if ModuleManager::staticModuleExists(&#039;shop&#039;)}<br /> {static_call var=cart callback=[&#039;\Shop\Model\Cart&#039;,&#039;currentCart&#039;]}</p><p> {* Корзина *}<br /> {moduleinsert name=&quot;\Shop\Controller\Block\Cart&quot; }<br /> {/if}<br />т.е. выводится кол-во и сумма. при нажатии на кнопку открыть корзину открывается модалка с товарами. Дак вот собственно вопрос. если я добавляю товар в корзину. то он как бы добавляется но изменения в корзине происходят только после обновления страницы. Интересует вопрос как реализовать это чтоб без обновления было</p>]]></content>
			<author>
				<name><![CDATA[Николай]]></name>
				<uri>http://forum.readyscript.ru/user/13/</uri>
			</author>
			<updated>2015-06-25T10:06:05Z</updated>
			<id>http://forum.readyscript.ru/post/1526/#p1526</id>
		</entry>
</feed>
