<?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/433/" />
	<updated>2015-08-12T07:35:31Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.readyscript.ru/topic/433/kak-pereopredelit-funktsiyu/</id>
		<entry>
			<title type="html"><![CDATA[Re: Как переопределить функцию]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1696/#p1696" />
			<content type="html"><![CDATA[<p>Подумал, что нужно привести пример использования <strong>static_call</strong> для вашего случая в шаблоне. Я думаю пригодится.<br />Допустим у Вас есть модуль с именем <strong>custom</strong> и есть класс <strong>Api</strong> для выполнения функций Ваших. Соответственно в папке /modules/custom/model/api.inc.php</p><p>В этом классе предположим будет функция <strong>myDirUrl</strong>, которая возвращает нужные Вам данные. Мы их присвоим в шаблоне переменной <strong>$moyaperemennaya</strong></p><p>В саму функцию myDirUrl мы передадим переменную содержащуй объект категории (<strong>$dir</strong> например)</p><p>Тогда вызов метода будет выглядеть так:<br /></p><div class="codebox"><pre><code>{* Вызов static_call *}
{static_call var=moyaperemennaya callback[&#039;\Custom\Model\Api&#039;,&#039;myDirUrl&#039;] params=[$dir]}
{* Вывод значения присвоенного функцией *}
{$moyaperemennaya}</code></pre></div><p>Ну а в самом классе Api:<br /></p><div class="codebox"><pre><code>&lt;?php
namespace Custom\Model;

class Api{


   /**
   * Наша функция
   *
   * @param \Catalog\Model\Orm\Dir $dir - объект категории из шаблона
   */
   public static function myDirUrl($dir){
        //Наши действия
        //
        //
        return $moeznachenie; //Вернём результат обратно в шаблон
   }

}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-08-12T07:35:31Z</updated>
			<id>http://forum.readyscript.ru/post/1696/#p1696</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как переопределить функцию]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1695/#p1695" />
			<content type="html"><![CDATA[<p>Переопределения самих функций в других классах нет, но у нас появятся behavior расширения классов, и тогда можно будет дописывать из своего модуля функции классам. Пока этого нет. У нас сейчас возможно расширять систему и с помощью <a href="http://readyscript.ru/dev-manual/dev_hooks.html">хуков в системе</a>. Ну или можно вызывать статическую публичную функцию из шаблона при помощи нашего static_call плагина к smarty, в ней уже реализовать Ваши действия и вернуть значения. Туда можно и передать Ваш класс выполнив с ним манипуляции. <a href="http://readyscript.ru/dev-manual/dev_smarty_rsplugins.html#dev_smarty_rsplugins_function_static_call">Вот ссылка</a>.<br />Ну и вот несколько ссылок для разработки:<br /><a href="http://readyscript.ru/text-blog/Kak-sozdat-sobstvennuyu-temu-dlya-internet-magazina-ReadyScript/">http://readyscript.ru/text-blog/Kak-soz … adyScript/</a><br /><a href="http://readyscript.ru/text-blog/block-controller-readyscript/">http://readyscript.ru/text-blog/block-c … adyscript/</a><br /><a href="http://readyscript.ru/text-blog/razrabatyvaem-sobstvennyy-modul/">http://readyscript.ru/text-blog/razraba … nyy-modul/</a><br /><a href="http://readyscript.ru/text-blog/Kak-pravilno-rasshiryat-funkcional-internetmagazinov-ReadyScript/">http://readyscript.ru/text-blog/Kak-pra … adyScript/</a></p><p>Также вот <a href="http://readyscript.ru/dev-manual/adminmanual.html">документация для разработчиков</a>.</p><p>Если нужны более конкретны примеры спрашивайте.</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-08-11T11:23:41Z</updated>
			<id>http://forum.readyscript.ru/post/1695/#p1695</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как переопределить функцию]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1694/#p1694" />
			<content type="html"><![CDATA[<p>Спасибо, с эти понял. А как переопределить функцию в своем модуле, не создавая подмены классов?</p>]]></content>
			<author>
				<name><![CDATA[Сергей]]></name>
				<uri>http://forum.readyscript.ru/user/164/</uri>
			</author>
			<updated>2015-08-11T10:35:31Z</updated>
			<id>http://forum.readyscript.ru/post/1694/#p1694</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как переопределить функцию]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1689/#p1689" />
			<content type="html"><![CDATA[<p>Сделайте КОПИЮ файла с расширением .my.inc.php вместо .inc.php и спокойно правьте файл. Система подхватит именно Ваш файл.</p><p>\modules\catalog\model\orm\dir.my.inc.php</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-08-07T13:25:30Z</updated>
			<id>http://forum.readyscript.ru/post/1689/#p1689</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как переопределить функцию]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1688/#p1688" />
			<content type="html"><![CDATA[<p>Более конкретно этот \modules\catalog\model\orm\dir.inc.php функцию getUrl.</p>]]></content>
			<author>
				<name><![CDATA[Сергей]]></name>
				<uri>http://forum.readyscript.ru/user/164/</uri>
			</author>
			<updated>2015-08-07T11:03:51Z</updated>
			<id>http://forum.readyscript.ru/post/1688/#p1688</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как переопределить функцию]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1685/#p1685" />
			<content type="html"><![CDATA[<p>Всё верно. Если нужен более конкретный пример, то напишите, какой именно Вас интересует момент.</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-08-07T08:12:46Z</updated>
			<id>http://forum.readyscript.ru/post/1685/#p1685</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как переопределить функцию]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1683/#p1683" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Сергей пишет:</cite><blockquote><p>Здравствуйте!<br />Как можно переопределить в своем модуле функцию находящеюся в modules\catalog\model\orm ?</p></blockquote></div><p>Тут об этом подробно написано:<br /><a href="http://readyscript.ru/text-blog/Kak-pravilno-rasshiryat-funkcional-internetmagazinov-ReadyScript/">http://readyscript.ru/text-blog/Kak-pra … adyScript/</a></p>]]></content>
			<author>
				<name><![CDATA[Дмитрий]]></name>
				<uri>http://forum.readyscript.ru/user/38/</uri>
			</author>
			<updated>2015-08-07T05:19:35Z</updated>
			<id>http://forum.readyscript.ru/post/1683/#p1683</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Как переопределить функцию]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1682/#p1682" />
			<content type="html"><![CDATA[<p>Здравствуйте!<br />Как можно переопределить в своем модуле функцию находящеюся в modules\catalog\model\orm ?</p>]]></content>
			<author>
				<name><![CDATA[Сергей]]></name>
				<uri>http://forum.readyscript.ru/user/164/</uri>
			</author>
			<updated>2015-08-07T03:38:12Z</updated>
			<id>http://forum.readyscript.ru/post/1682/#p1682</id>
		</entry>
</feed>
