<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0">
 <channel>
	<title>Комментарии в блоге "oracle" на "Пользовательские функции и SEO инфоблоков"</title>
	<description>Комментарии в блоге "oracle" на "Пользовательские функции и SEO инфоблоков"</description>
	<link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php</link>
	<language>ru</language>
	<docs>http://backend.userland.com/rss2</docs>
	<pubDate>Sun, 05 Apr 2026 14:01:02 +0300</pubDate>

    <item>
      <title>Комментарии на "Пользовательские функции и SEO инфоблоков" от Дмитрий Орлов</title>
      <description><![CDATA[Добрый день, всем! Необходимо реализовать функцию шаблонов less, и использовать следующим образом {=less iblock_element_property.70 &quot;0.30&quot; iblock_element_property.191.PROPERTY_183 iblock_element_property.191.PROPERTY_184}.<br /><br />Сейчас в инфоблоке iblock_element_property.70 есть свойство типа строка с разными значениями веса изделия, например, 0.12, 1.12 и т.д.<br /><br />Т.е. если есть свойство инфоблока &nbsp;iblock_element_property.70 и его значение меньше числа 0.30, то выводить значение свойства PROPERTY_183. если больше либо равно 0.30, то выводить значение другого свойства PROPERTY_184 из другого инфоблока, как это реализовать в пользовательской функции, зарегистрировать обработчик события этой функции в файле init.php и использовать ее в шаблоне?]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=125934#com125934</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=125934#com125934</guid>
      <pubDate>Mon, 07 Dec 2020 13:04:55 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Пользовательские функции и SEO инфоблоков" от Данил Исаев</title>
      <description><![CDATA[Я тут сделал немного <img src="http://dev.1c-bitrix.ru/upload/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br />Минимальная и максимальная цена.<br />Еще тернарная операция с проверкой на пустоту <br /><br /><noindex><a href="http://marketplace.1c-bitrix.ru/solutions/isaev.seotemplate/" target="_blank" rel="nofollow" >http://marketplace.1c-bitrix.ru/solutions/isaev.seotemplate/</a></noindex>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=121576#com121576</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=121576#com121576</guid>
      <pubDate>Thu, 21 Nov 2019 15:27:24 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Пользовательские функции и SEO инфоблоков" от Артемий Зайцев</title>
      <description><![CDATA[Максим, не могли бы вы актуализировать пример:<br />
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//собственно функция выполняющая "магию"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public function calculate($parameters)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $result = $this-&#62;parametersToArray($parameters);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //последний параметр - длина строки
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $length = array_pop($result);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //а вот собственно left
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return substr(implode(" ", $result), 0, $length);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</pre>
=============
Сейчас у нас наследуется класс, а в нем задан тип явно <br />public function calculate(array $parameters)<br /><br />И получается $result = $this-&gt;parametersToArray($parameters); не обязательно? Или у нас может быть массив массивов, которые надо разложить на простой массив?]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=112835#com112835</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=112835#com112835</guid>
      <pubDate>Thu, 25 Oct 2018 18:22:26 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Пользовательские функции и SEO инфоблоков" от Itachi261092</title>
      <description><![CDATA[Подскажите пожалуйста, что и откуда будет брать эта функция, если описание у товара отсутствует? Я применил данный шаблон к полю DESCRIPTION элементов торгового каталога. всё отлично работает. но для элементов без описаниея выводится 279 символов непонятно откуда (сами теги не плохие, но их хотелось бы подкорректировать). И самое главное - не могу понять откуда они взялись. Вбсолютно одинаковые для всех товаров во всех разделов.<br /><br />Хотелось бы немного доработать. чтобы при отсутствии описания добавлять стандартный сео шаблон в виде "имя_раздела имя_элемента в нашем интернет-магазине"<br /><br />p.s.: Понял, что берётся просто описание из главной страницы сайта (заданное в .section) только не понял почему наследуется на внутреннюю папку (/catalog/) ну да фиг с ним. получается что если описания нет, функция ничего не выводит (оставляет пустой тег). а в шаблоне каталога, видимо, настроено что сео обновляется только если свойство заполнено... так что главный вопрос остался актуален.]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=80005#com80005</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=80005#com80005</guid>
      <pubDate>Thu, 21 Apr 2016 13:57:13 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Пользовательские функции и SEO инфоблоков" от Александр Андреев</title>
      <description><![CDATA[Большое спасибо! Всё заработало!]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=79961#com79961</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=79961#com79961</guid>
      <pubDate>Wed, 20 Apr 2016 15:14:47 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Пользовательские функции и SEO инфоблоков" от Максим Смирнов</title>
      <description><![CDATA[1. Ошибка в объявлении класса:<br />class <s>FunctionBondsoftPriceFormat</s> &nbsp;FunctionMyPriceFormat extends \Bitrix\Iblock\Template\Functions\FunctionBase<br />В функцию addEventHandler вы передаёте именно &quot;FunctionMyPriceFormat&quot;, а не &quot;FunctionBondsoftPriceFormat&quot;<br /><br />2. параметры функции calculate желательно обработать. Например:<br />
====code====
<pre>return number_format($this-&#62;parametersToString($price), 0, " ", " " );
</pre>
=============]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=79959#com79959</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=79959#com79959</guid>
      <pubDate>Wed, 20 Apr 2016 15:08:00 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Пользовательские функции и SEO инфоблоков" от Александр Андреев</title>
      <description><![CDATA[Подскажите что не так делаю, накидал свою функцию основываясь на примере, функция выводит число в нужном формате (разделяет разряды пробелом), получилось вот: <br /><br /><br />
====code====
<pre> //Подключаем модуль инфоблоков
if (&#92;Bitrix&#92;Main&#92;Loader::includeModule('iblock'))
{
&nbsp;&nbsp;&nbsp;//регистрируем обработчик события
&nbsp;&nbsp;&nbsp;&#92;Bitrix&#92;Main&#92;EventManager::getInstance()-&#62;addEventHandler(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"iblock",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"OnTemplateGetFunctionClass",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array("FunctionMyPriceFormat", "eventHandler")
&nbsp;&nbsp;&nbsp;);
&nbsp;&nbsp;&nbsp;//подключаем файл с определением класса FunctionBase
&nbsp;&nbsp;&nbsp;//это пока требуется т.к. класс не описан в правилах автозагрузки
&nbsp;&nbsp;&nbsp;include_once($_SERVER&#91;"DOCUMENT_ROOT"&#93;."/bitrix/modules/iblock/lib/template/functions/fabric.php");
&nbsp;&nbsp;&nbsp;class FunctionBondsoftPriceFormat extends &#92;Bitrix&#92;Iblock&#92;Template&#92;Functions&#92;FunctionBase
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Обработчик события на вход получает имя требуемой функции
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//парсер её нашел в строке SEO
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static function eventHandler($event)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$parameters = $event-&#62;getParameters();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$functionName = $parameters&#91;0&#93;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($functionName === "my_price_format")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//обработчик должен вернуть SUCCESS и имя класса
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//который будет отвечать за вычисления
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return new &#92;Bitrix&#92;Main&#92;EventResult(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#92;Bitrix&#92;Main&#92;EventResult::SUCCESS,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&#92;&#92;FunctionMyPriceFormat"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//собственно функция выполняющая "магию"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public function calculate($price)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return number_format($price, 0, " ", " " );
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;}
}</pre>
=============
<br />функцию вызывают так (на вкладке SEO, поле заголовок элемента) <br /><br />
====code====
<pre>{=this.Name} {=my_price_format this.property.PRICE} р.
 </pre>
=============
В результате ничего <noindex><a href="http://joxi.ru/DmBXGOZhNyaP1A" target="_blank" rel="nofollow" >скриншот карточки элемента инфоблока</a></noindex>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=79945#com79945</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=79945#com79945</guid>
      <pubDate>Wed, 20 Apr 2016 12:37:53 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Пользовательские функции и SEO инфоблоков" от Дмитрий Ипатов</title>
      <description><![CDATA[Хочется обратить внимание на галочку в настройках инфоблока на вкладке SEO, Очистить кеш вычисленных значений. Именно она сбрасывает кеш значений сео мета элемента и нужно ей пользоваться при тестировании (создании) новой функции.]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=71563#com71563</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=71563#com71563</guid>
      <pubDate>Sun, 18 Oct 2015 18:31:45 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Пользовательские функции и SEO инфоблоков" от Александр Терентьев</title>
      <description><![CDATA[Подскажите, а возможно ли в параметр собственной функции передать кавычки.<br />К примеру, такой шаблон <br /><br />
====code====
<pre>{=my_function "Название фирмы "Альпари""}
 </pre>
=============
 И я хотел бы в параметре получить значение Название фирмы &quot;Альпари&quot;<br />сейчас я получаю массив из двух параметров: первый Название фирмы, а второй пустая строка.]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=65717#com65717</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=65717#com65717</guid>
      <pubDate>Wed, 11 Mar 2015 16:10:56 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Пользовательские функции и SEO инфоблоков" от Антон Пилецкий</title>
      <description><![CDATA[Голосуем за идею "Фэншуй в SEO инструментах для инфоблоков" <noindex><a href="http://idea.1c-bitrix.ru/12866/" target="_blank" rel="nofollow" >http://idea.1c-bitrix.ru/12866/</a></noindex>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=64754#com64754</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/oracle/userdefined-functions-and-seo-infoblock.php?commentId=64754#com64754</guid>
      <pubDate>Fri, 06 Feb 2015 13:22:54 +0300</pubDate>
    </item>

  </channel>
</rss>