<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Алексей Валеев</title>
	
	<link>http://alexvaleev.ru</link>
	<description>Блог о CMS bitrix, верстке и веб-программировании</description>
	<lastBuildDate>Wed, 23 May 2012 17:48:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/alexvaleev/feed" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="alexvaleev/feed" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Как очистить базу на этапе установки</title>
		<link>http://alexvaleev.ru/clear-base-install/</link>
		<comments>http://alexvaleev.ru/clear-base-install/#comments</comments>
		<pubDate>Wed, 23 May 2012 17:47:29 +0000</pubDate>
		<dc:creator>Алексей Валеев</dc:creator>
				<category><![CDATA[Справочник]]></category>

		<guid isPermaLink="false">http://alexvaleev.ru/?p=227</guid>
		<description><![CDATA[На любом шаге установщика достаточно добавить параметр clear_db=Y в адресную строку и база данных будет очищена в процессе установки 1с-Битрикс.
]]></description>
			<content:encoded><![CDATA[<p>На любом шаге установщика достаточно добавить параметр clear_db=Y в адресную строку и база данных будет очищена в процессе установки 1с-Битрикс.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexvaleev.ru/clear-base-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Исправляем ошибку MySQL «Row size too large» в 1с-Битрикс</title>
		<link>http://alexvaleev.ru/mysql-row-size-too-large/</link>
		<comments>http://alexvaleev.ru/mysql-row-size-too-large/#comments</comments>
		<pubDate>Fri, 18 May 2012 19:54:15 +0000</pubDate>
		<dc:creator>Алексей Валеев</dc:creator>
				<category><![CDATA[Bitrix]]></category>
		<category><![CDATA[bitrix]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://alexvaleev.ru/?p=225</guid>
		<description><![CDATA[Если Вы используете в своих проектах инфоблоки 2.0 и таблицы InnoDB, то есть шанс в один прекрасный момент столкнуться с ошибкой MySQL &#171;SQL Error (1118): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs&#187; (или &#171;Got [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://alexvaleev.ru/wp-content/uploads/2012/05/mysql.jpg" alt="" title="mysql и 1с-Битрикс" width="150" height="116" class="alignleft size-full wp-image-226" />Если Вы используете в своих проектах инфоблоки 2.0 и таблицы InnoDB, то есть шанс в один прекрасный момент столкнуться с ошибкой MySQL &laquo;SQL Error (1118): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs&raquo; (или &laquo;Got error 139 from storage engine&raquo;). Ниже рассмотрены причины и условия ее возникновения, а также различные методы устранения, с вмешательством в настройки сервера или без него. <span id="more-225"></span></p>
<h2>Причины</h2>
<p>Данная ошибка возникает в таблицах InnoDB при попытке чтения строки с большим количеством заполненных текстовых полей. Сумма длин всех текстовых полей (но не более 768 байтов каждого поля) не должна превышать половины страницы памяти, которая указана в настройках MySQL. В моем случае это было 16кб, отсюда и цифра 8126 байт в названии ошибки.</p>
<h2>Условия возникновения в 1с-Битрикс</h2>
<p>К ошибке приводит совокупность факторов:<br />
- использование инфоблоков 2.0, т.е. хранение свойств в отдельных таблицах;<br />
- MySQL в качестве сервера базы данных;<br />
- тип InnoDB для таблицы свойств инфоблока;<br />
- большое количество свойств строкового типа. Точная цифра зависит от настроек сервера.</p>
<h2>Методы решения</h2>
<p>Условно решения можно разделить на 2 группы &#8211; с необходимостью правки конфигурации сервера и без нее. Все советы даны применительно к битриксу. Естественно перед экспериментами нужно сделать резервную копию.</p>
<p>Без правки конфигурации:</p>
<p>1. Перевести таблицу в MyISAM. В моем случае это вызвало 2 проблемы &#8211; битрикс неправильно конвертировал заполненные значения свойств и при первом добавлении элемента инфоблока пропали половина свойств других элементов. Почему именно так получилось не ясно, но факт остается фактом &#8211; риск поломать таблицу есть.</p>
<p>2. Вернуться на инфоблоки 1.0. В этом случае каждое свойство будет храниться в отдельной строке общей таблицы, строка &laquo;влезет&raquo; в отведенную ей память и ошибка пропадет. Метод не всегда применим, потому что есть некоторые различия в форматах объектов, возвращаемых функцией CIBlockElement::GetList(), и в некоторых случаях придется переписывать код.</p>
<p>С вмешательством в настройки сервера:</p>
<p>1. Увеличить размер страницы памяти. Для этого в файле univ.i установить значения</p>
<pre class="brush: php">
#define UNIV_PAGE_SIZE (8 * 8192)
#define UNIV_PAGE_SIZE_SHIFT 16
</pre>
<p>и пересобрать MySQL.</p>
<p>Минусы подхода хорошо описаны в <a href="http://dev.1c-bitrix.ru/community/webdev/group/1/blog/2171/" rel="nofollow">этой</a> статье.</p>
<p>2. Для MySQL версии > 5.5 изменить формат таблиц на DYNAMIC</p>
<pre class="brush: sql">
ALTER TABLE tableName ENGINE = InnoDB ROW_FORMAT = Dynamic;
</pre>
<p>Для MySQL версии > 5.0 нужно сначала <a href="http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-plugin-installation-dynamic-posix.html" rel="nofollow">подключить</a> InnoDB через плагин, поддерживающий формат файлов barracuda.</p>
<p>Хостинг <a href="http://timeweb.ru/services/hosting/" rel="nofollow">TimeWeb</a> точно подвержен этой ошибке. Будьте внимательны и заранее продумывайте архитектуру проекта.</p>
<p>В заключение, несколько полезных ссылок по теме:<br />
<a href="http://habrahabr.ru/post/126375/" rel="nofollow">8123 байта хватит каждому</a><br />
<a href="http://dev.1c-bitrix.ru/community/webdev/group/1/blog/1797/" rel="nofollow">Инфоблоки+ и &laquo;Got error 139 from storage engine&raquo;</a><br />
<a href="http://www.mysqlperformanceblog.com/2010/02/09/blob-storage-in-innodb/" rel="nofollow">Blob Storage in Innodb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexvaleev.ru/mysql-row-size-too-large/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Автокэширование в 1с-Битрикс – сложно о простом</title>
		<link>http://alexvaleev.ru/bitrix-autocache/</link>
		<comments>http://alexvaleev.ru/bitrix-autocache/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 19:00:43 +0000</pubDate>
		<dc:creator>Алексей Валеев</dc:creator>
				<category><![CDATA[Bitrix]]></category>
		<category><![CDATA[bitrix]]></category>
		<category><![CDATA[битрикс]]></category>
		<category><![CDATA[кеширование]]></category>
		<category><![CDATA[компонент]]></category>

		<guid isPermaLink="false">http://alexvaleev.ru/?p=221</guid>
		<description><![CDATA[Автокэширование в 1с-Битрикс &#8211; хорошо развитая и довольно сложная система, позволяющая в разы уменьшить число обращений к базе данных и ускорить выполнение страниц. Понимать принципы и грамотно ее использовать должен любой успешный &#171;битрикс-разработчик&#187; для создания быстрых и качественных проектов. Сегодня поговорим о связи кэша и шаблона компонента. 
Как работает компонент
Для начала небольшое описание составных частей [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://alexvaleev.ru/wp-content/uploads/2012/03/cache.jpg" alt="" title="Автокэширование в 1с-Битрикс" width="150" height="110" class="alignleft size-full wp-image-222" />Автокэширование в 1с-Битрикс &#8211; хорошо развитая и довольно сложная система, позволяющая в разы уменьшить число обращений к базе данных и ускорить выполнение страниц. Понимать принципы и грамотно ее использовать должен любой успешный &laquo;битрикс-разработчик&raquo; для создания быстрых и качественных проектов. Сегодня поговорим о связи кэша и шаблона компонента. <span id="more-221"></span></p>
<h2>Как работает компонент</h2>
<p>Для начала небольшое описание составных частей среднестатистического компонента в 1с-Битрикс:</p>
<ol>
<li>component.php &#8211; файл с кодом, который формирует данные для шаблона ($arResult) и подключает его. Кроме того, может выполнять какие-либо действия после получения данных. Например, устанавливать заголовок страницы или добавлять пункты в навигационную цепочку.</li>
<li>template.php &#8211; файл <a href="http://alexvaleev.ru/top-pravil-shablon-bitrix/">шаблона</a>. В идеале не содерижит никакой логики, только вывод данных из $arResult. кэшируется html-вывод, т.е. PHP код из этого файла выполнится 1 раз, затем будет возвращаться html до следующего обновления кэша.</li>
<li>result_modifier.php &#8211; файл, который подключается до template.php и может менять $arResult. кэшируется так же как и template.php</li>
<li>component_epilog.php &#8211; файл, который подключается после template.php. Не кэшируется.</ol>
<p>Последние 3 файла относятся к шаблону, предпочтительно редактировать именно их. Component.php в стандартных компонентах изменять нельзя, т.к. есть шанс что правки затрутся после обновления системы.</p>
<p>Общую схему работы компонента можно представить несколькими шагами:</p>
<ol>
<li>Проверка входных данных в component.php</li>
<li>Проверка на наличие валидного (активного) кэша файлов result_modifier.php и template.php. Если кэш валидный, то вывод его, заполнение $arResult и переход к пункту 5.</li>
<li>В случае невалидного кэша производятся необходимые действия для получения данных. По сути &#8211; заполняется массив $arResult</li>
<li>Подключение файлов result_modifier.php и template.php, формирование + вывод html, а также &laquo;запоминание&raquo; этого вывода и части массива $arResult</li>
<li>Подключение файла component_epilog.php</li>
<li>Выполнение остального кода в component.php</ol>
<h2>Что нужно помнить</h2>
<p>Содержимое массива $arResult на разных этапах различается. В result_modifier.php и template.php попадает массив, содержащий ВСЕ данные, которые получены на шаге 3. В файле component_epilog.php и коде компонента, который выполняется после него, доступны данные массива $arResult с ключами, которые были указаны в функции <nobr>$this->SetResultCacheKeys(Array())</nobr>. Вызов ее происходит в <a href="http://alexvaleev.ru/obraz-component-bitrix/">компоненте</a>.</p>
<p>Например,</p>
<pre class="brush: php">
// component_epilog шаблона компонента news.list
// задача - вывести заголовок страницы вида &quot;[Название инфоблока] (кол-во элементов)&quot;
global $APPLICATION;

/*
// кусок кода из component.php, так устанавливаются ключи, которые попадут в кэш
$this-&gt;SetResultCacheKeys(array(
	&quot;ID&quot;,
	&quot;IBLOCK_TYPE_ID&quot;,
	&quot;LIST_PAGE_URL&quot;,
	&quot;NAV_CACHED_DATA&quot;,
	&quot;NAME&quot;,
	&quot;SECTION&quot;,
	&quot;ELEMENTS&quot;,
));
*/

// этот код не сработает, т.к. в массиве $arResult не определен элемент с ключем &quot;ITEMS&quot;
if(isset($arResult[&quot;NAME&quot;]) &amp;&amp; isset($arResult[&quot;ITEMS&quot;])) {
	$title = $arResult[&quot;NAME&quot;].&quot; (&quot;.count($arResult[&quot;ITEMS&quot;]).&quot;)&quot;;
	$APPLICATION-&gt;SetTitle($title);
}

// правильный вариант, все нужные элемента массива присутствуют в кэше
if(isset($arResult[&quot;NAME&quot;]) &amp;&amp; isset($arResult[&quot;ELEMENTS&quot;])) {
	$title = $arResult[&quot;NAME&quot;].&quot; (&quot;.count($arResult[&quot;ELEMENTS&quot;]).&quot;)&quot;;
	$APPLICATION-&gt;SetTitle($title);
}
</pre>
<p>Данные, которые доступны в component_epilog.php и далее (т.е. указаны в SetResultCacheKeys) можно изменять в result_modifier.php и template.php. Будет закэшировано их новое значение.</p>
<p>Например,</p>
<pre class="brush: php">
// result_modifier шаблона компонента news.list
// задача - вывести заголовок страницы вида &quot;[Название инфоблока] (кол-во элементов)&quot;
// доступен весь массив $arResult и мы можем переопределить элементы, которые попадут в кэш
$arResult[&quot;NAME&quot;] .= &quot; (&quot;.count($arResult[&quot;ELEMENTS&quot;]).&quot;)&quot;;
// теперь при отмеченной опции &quot;Устанавливать заголовок страницы&quot; компонент использует измененный $arResult[&quot;NAME&quot;] и мы получим нужный заголовок
</pre>
<p>В result_modifier.php можно добавлять данные в кэш.</p>
<p>Например,</p>
<pre class="brush: php">
// result_modifier шаблона компонента news.list
// задача - &quot;SEOшник со стажем&quot; сказал сделать description вида &quot;[Название элементов через запятую] скачать бесплатно без регистрации без смс&quot;
$arNames = Array(); // сюда собираем названия элементов
foreach($arResult[&quot;ITEMS&quot;] as $arItem)
	$arNames[] = $arItem[&quot;NAME&quot;];
$arResult[&quot;DESCRIPTION&quot;] = implode(&quot;, &quot;, $arNames).&quot; скачать бесплатно без регистрации без смс&quot;;
$cp = $this-&gt;__component; // объект компонента
if (is_object($cp))
   $cp-&gt;SetResultCacheKeys(array(&#039;DESCRIPTION&#039;)); // запомнить $arResult[&quot;DESCRIPTION&quot;] в кэш
</pre>
<pre class="brush: php">
// component_epilog шаблона компонента news.list
global $APPLICATION;
// устанавливаем DESCRIPTION
if(isset($arResult[&quot;DESCRIPTION&quot;])) {
	$APPLICATION-&gt;SetDirProperty(&quot;keywords&quot;, $arResult[&quot;DESCRIPTION&quot;]);
}
</pre>
<p>Для полного понимания технологии кэширования обязательны к прочтению следующие материалы:<br />
- <a rel="nofollow" href="http://dev.1c-bitrix.ru/api_help/main/general/component20/08.caching.php">Компоненты 2.0::кэширование в компоненте</a> и далее по разделу<br />
- <a rel="nofollow" href="http://dev.1c-bitrix.ru/community/webdev/user/2106/blog/2671/">component_epilog и шаблон компонента</a><br />
- <a rel="nofollow" href="http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=46&#038;CHAPTER_ID=806">Компоненты</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexvaleev.ru/bitrix-autocache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Своя иконка для инфоблока в админке</title>
		<link>http://alexvaleev.ru/iblock-custom-icon/</link>
		<comments>http://alexvaleev.ru/iblock-custom-icon/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 07:13:44 +0000</pubDate>
		<dc:creator>Алексей Валеев</dc:creator>
				<category><![CDATA[Справочник]]></category>

		<guid isPermaLink="false">http://alexvaleev.ru/?p=219</guid>
		<description><![CDATA[Код, который позволяет в админке для заданного инфоблока установить свою иконку (автор Максим Смирнов, идея).
Для этого нужно:1. в css создать правило #my_menu_icon { background:url(путь до иконки); }2. в /bitrix/php_interface/init.php дописать

AddEventHandler(&#34;main&#34;, &#34;OnBuildGlobalMenu&#34;, array(&#34;MyClass&#34;, &#34;OnBuildGlobalMenu&#34;));
class MyClass
{
   function OnBuildGlobalMenu(&#38;$aGlobalMenu, &#38;$aModuleMenu)
   {
      $type = &#34;articles&#34;; // тип инфоблока
   [...]]]></description>
			<content:encoded><![CDATA[<p>Код, который позволяет в админке для заданного инфоблока установить свою иконку (автор <a target="_blank" href="http://idea.1c-bitrix.ru/user/1978/">Максим Смирнов</a>, <a target="_blank"  href="http://idea.1c-bitrix.ru/the-color-separation-information-block-in-the-admin/">идея</a>).</p>
<p>Для этого нужно:<br />1. в css создать правило #my_menu_icon { background:url(путь до иконки); }<br />2. в /bitrix/php_interface/init.php дописать</p>
<pre class="brush: php">
AddEventHandler(&quot;main&quot;, &quot;OnBuildGlobalMenu&quot;, array(&quot;MyClass&quot;, &quot;OnBuildGlobalMenu&quot;));
class MyClass
{
   function OnBuildGlobalMenu(&amp;$aGlobalMenu, &amp;$aModuleMenu)
   {
      $type = &quot;articles&quot;; // тип инфоблока
      $iblock_id = 19; // ID нужного инфоблока

      foreach($aModuleMenu as $i1 =&gt; $aMenu1)
      {
         if($aMenu1[&quot;items_id&quot;] == &quot;menu_iblock_/$type&quot;)
         {
            foreach($aMenu1[&quot;items&quot;] as $i4 =&gt; $aMenu4)
            {
               if($aMenu4[&quot;items_id&quot;] == &quot;menu_iblock_/$type/$iblock_id&quot;)
               {
                  $aModuleMenu[$i1][&quot;items&quot;][$i4][&quot;icon&quot;] = &quot;my_menu_icon&quot;;
                  //&lt;a id=&quot;my_menu_icon&quot;&gt;&lt;/a&gt; + css = result
               }
            }
         }
      }
   }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://alexvaleev.ru/iblock-custom-icon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как получить ключ для переводчика Bing</title>
		<link>http://alexvaleev.ru/bitrix-bing-key/</link>
		<comments>http://alexvaleev.ru/bitrix-bing-key/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 19:23:11 +0000</pubDate>
		<dc:creator>Алексей Валеев</dc:creator>
				<category><![CDATA[Bitrix]]></category>
		<category><![CDATA[Разное]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[битрикс]]></category>

		<guid isPermaLink="false">http://alexvaleev.ru/?p=210</guid>
		<description><![CDATA[C тех пор как корпорация добра стала злой и закрыла бесплатный доступ к своему переводчику, 1с-Битрикс использует для автоматической генерации имен файлов/папок/названий элементов и подобных вещей сервис от Bing. Чтобы включить этот функционал, необходимо сначала зарегистрироваться и получить &#171;ключ приложения Bing&#187;. Внутри подробная иллюстрированная инструкция как сделать это быстро и безболезненно.
Для начала топаем в админку [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://alexvaleev.ru/wp-content/uploads/2012/01/bing.png" alt="Переводчик Bing" title="bing" width="150" height="82" class="alignleft size-full wp-image-211" />C тех пор как корпорация добра стала злой и закрыла бесплатный доступ к своему переводчику, 1с-Битрикс использует для автоматической генерации имен файлов/папок/названий элементов и подобных вещей сервис от Bing. Чтобы включить этот функционал, необходимо сначала зарегистрироваться и получить &laquo;ключ приложения Bing&raquo;. Внутри подробная иллюстрированная инструкция как сделать это быстро и безболезненно.<span id="more-210"></span></p>
<p>Для начала топаем в админку своего сайта на страницу настроек главного модуля (Настройки &#8211; Настройки продукта &#8211; Настройки модулей &#8211; Главный модуль). Если где-то посередине видна картинка, подобная нижеприведенной, значит Битрикс обновлен и готов к использованию альтернативного переводчика.</p>
<p><a rel="lightbox[roadtrip]" href="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-checkbox.png"><img src="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-checkbox-300x140.png" alt="Настройка Bing в 1с-Битрикс" title="bing-checkbox" width="300" height="140" class="aligncenter size-medium wp-image-214" /></a></p>
<p>Открываем новую вкладку в браузере, переходим по адресу <a target="_blank" href="https://signup.live.com/signup.aspx?lic=1">https://signup.live.com/signup.aspx?lic=1</a> и заполняем форму. E-mail нужно вводить настоящий. Если Вы уже имеете Windows Live ID (что вряд ли), то этот шаг можно пропустить и сразу авторизоваться.</p>
<p><a rel="lightbox[roadtrip]" href="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-get-liveid.png"><img src="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-get-liveid-300x242.png" alt="Авторизация в Windows Live ID" title="bing-get-liveid" width="300" height="242" class="aligncenter size-medium wp-image-216" /></a></p>
<p>На указанный e-mail придет письмо с ссылкой на подтверждение регистрации, переходим по ней.</p>
<p><a rel="lightbox[roadtrip]" href="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-liveid-ok.png"><img src="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-liveid-ok-300x52.png" alt="Подтверждение регистрации в Windows Live ID" title="bing-liveid-ok" width="300" height="52" class="aligncenter size-medium wp-image-218" /></a></p>
<p>Теперь идем по ссылке <a target="_blank" href="http://www.bing.com/developers/appids.aspx">http://www.bing.com/developers/appids.aspx</a> и нажимаем кнопку &laquo;Add&raquo;.</p>
<p><a rel="lightbox[roadtrip]" href="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-add1.png"><img src="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-add1-300x66.png" alt="Как получить ключ Bing" title="bing-add1" width="300" height="66" class="aligncenter size-medium wp-image-212" /></a></p>
<p>Необходимо заполнить форму, обязательные поля только в первом блоке, остальное можно не заполнять</p>
<p><a rel="lightbox[roadtrip]" href="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-add2.png"><img src="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-add2-300x174.png" alt="Форма, ее нужно заполнить" title="bing-add2" width="300" height="174" class="aligncenter size-medium wp-image-213" /></a></p>
<p>Если все прошло удачно, то можно себя поздравить &#8211; ключ приложения Bing получен! Он написан в столбце Application ID.</p>
<p><a rel="lightbox[roadtrip]" href="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-key.png"><img src="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-key-300x44.png" alt="Ключ Bing для 1с-Битрикс" title="bing-key" width="300" height="44" class="aligncenter size-medium wp-image-217" /></a></p>
<p>Осталось совсем чуть-чуть &#8211; ввести этот набор символов в настройки главного модуля и отметить галочку &laquo;Использовать переводчик Google для автоматического генерирования имен файлов и папок&raquo; в настройках модуля &laquo;Управление структурой&raquo;.</p>
<p>Удачного Вам использования!</p>
<p><a rel="lightbox[roadtrip]" href="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-final.png"><img src="http://alexvaleev.ru/wp-content/uploads/2012/01/bing-final-300x160.png" alt="Пример автоматического перевода" title="bing-final" width="300" height="160" class="aligncenter size-medium wp-image-215" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexvaleev.ru/bitrix-bing-key/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как сделать AJAX формы 1с-Битрикс в всплывающих окнах</title>
		<link>http://alexvaleev.ru/ajax-form-bitrix-popup/</link>
		<comments>http://alexvaleev.ru/ajax-form-bitrix-popup/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 11:25:04 +0000</pubDate>
		<dc:creator>Алексей Валеев</dc:creator>
				<category><![CDATA[Bitrix]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[bitrix]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[битрикс]]></category>

		<guid isPermaLink="false">http://alexvaleev.ru/?p=204</guid>
		<description><![CDATA[Эта статья посвящена одному из способов сделать в 1с-Битрикс форму в всплывающем окне. Достоинства метода:
- можно использовать любые формы 1с-Битрикс, которые выводятся компонентом. Например, добавление элемента инфоблока или веб-форма.
- всплывающее окно создается &#171;на лету&#187; при помощи javascript и изменяет свой размер в зависимости от количества контента внутри.
- весь процесс работы формы, вывода ошибок и результата [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://alexvaleev.ru/wp-content/uploads/2011/10/form-in-popup.jpg" alt="" title="AJAX всплывающая форма в 1с-Битрикс" width="150" height="74" class="alignleft size-full wp-image-205" />Эта статья посвящена одному из способов сделать в 1с-Битрикс форму в всплывающем окне. Достоинства метода:<br />
- можно использовать любые формы 1с-Битрикс, которые выводятся компонентом. Например, добавление элемента инфоблока или веб-форма.<br />
- всплывающее окно создается &laquo;на лету&raquo; при помощи javascript и изменяет свой размер в зависимости от количества контента внутри.<br />
- весь процесс работы формы, вывода ошибок и результата происходит при помощи AJAX без перезагрузки окна.<br /><span id="more-204"></span></p>
<h2>Готовим javascript</h2>
<p>Для создания всплывающих окон воспользуемся плагином jquery.fancybox. Подключаем его в шаблоне сайта или непосредственно на странице, где будет ссылка для вызова окна, предварительно скопировав содержимое архива на сайт (в примере это /js/fancybox/).</p>
<pre class="brush: html">
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;/js/fancybox/jquery.fancybox-1.3.4.pack.js&quot;&gt;&lt;/script&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/js/fancybox/jquery.fancybox-1.3.4.css&quot; media=&quot;screen&quot; /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(function() {
	// ссылка для вызова окна должна иметь класс &quot;popup&quot;
	$(&#039;a.popup&#039;).fancybox({
		&#039;overlayShow&#039;: false, // значения параметров можно посмотреть на сайте разработчика
		&#039;padding&#039;: 0,
		&#039;margin&#039; : 0,
		&#039;scrolling&#039; : &#039;no&#039;,
		&#039;titleShow&#039;: false,
		&#039;type&#039;: &#039;ajax&#039;,
		&#039;href&#039;: &#039;/ajax_popup.php&#039; // описание скрипта будет дано ниже по тексту:)
	});
});
&lt;/script&gt;
&lt;a class=&quot;popup&quot; href=&quot;&quot;&gt;Открыть окно&lt;/a&gt;
</pre>
<h2>Готовим форму</h2>
<p>Итак, скрипт вызова формы будет находиться в файле /ajax_popup.php &#8211; он упоминался в javascript-коде выше. Создаем этот файл как обычную страницу в 1с-Битрикс, кладем и настраиваем!!! на ней нужный <a href="http://alexvaleev.ru/obraz-component-bitrix/">компонент</a>, при необходимости изменения внешнего вида копируем шаблон. В процессе настройки не забудьте поставить галочку на &laquo;Включить режим AJAX&raquo;. Если ее нет, не отчаивайтесь, пропишем руками позже. Далее, открываем страницу на редактирование в режиме php и находим код вызова компонента. Сделать это просто, он всегда начинается с текста &#8216;&lt;?$APPLICATION-&gt;IncludeComponent(&#8216; и заканчивается первой попавшейся &#8216;);?&gt;&#8217;.</p>
<p>Все что выше этого куска кода заменяем на</p>
<pre class="brush: php">
&lt;?require($_SERVER[&quot;DOCUMENT_ROOT&quot;].&quot;/bitrix/modules/main/include/prolog_before.php&quot;);?&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;/bitrix/js/main/ajax.js&quot;&gt;&lt;/script&gt;
</pre>
<p>Prolog_before.php подключит необходимые системе файлы без вывода шапки <a href="http://alexvaleev.ru/sozdaem-shablon-bitrix/">шаблона сайта</a>, она в всплывающем окне не нужна. Скрипт ajax.js нужен для работы компонентов в режиме ajax.</p>
<p>Все что ниже подключения компонента заменяем на</p>
<pre class="brush: php">
&lt;?require($_SERVER[&quot;DOCUMENT_ROOT&quot;].&quot;/bitrix/modules/main/include/epilog_after.php&quot;);?&gt;
</pre>
<p>Epilog_after.php подключит необходимые системе файлы без вывода подвала шаблона сайта.</p>
<p>Все, можно кликать на ссылку (которая на странице с javascript&#8217;ом и имеет класс &laquo;popup&raquo;) и любоваться результатом:)</p>
<h2>Если нет настройки &laquo;Включить режим AJAX&raquo;</h2>
<p>Заставить работать в режиме AJAX можно практически любой компонент в системе. Если нет необходимой группы параметров в окне настроек, то можно поступить 2 способами &#8211; добавить нужные параметры в .parameters.php шаблона компонента (об этом можно почитать в документации), или вписать напрямую в код вызова строки:</p>
<pre class="brush: php">
	&quot;AJAX_MODE&quot; =&gt; &quot;Y&quot;,  // режим AJAX
	&quot;AJAX_OPTION_SHADOW&quot; =&gt; &quot;N&quot;, // затемнять область
	&quot;AJAX_OPTION_JUMP&quot; =&gt; &quot;N&quot;, // скроллить страницу до компонента
	&quot;AJAX_OPTION_STYLE&quot; =&gt; &quot;Y&quot;, // подключать стили
	&quot;AJAX_OPTION_HISTORY&quot; =&gt; &quot;N&quot;,
</pre>
<p>Для тестового примера с iblock.element.form.add.form код с добавленными параметрами будет выглядеть так:</p>
<pre class="brush: php">
&lt;?$APPLICATION-&gt;IncludeComponent(&quot;bitrix:iblock.element.add.form&quot;, &quot;&quot;, array(
	&quot;IBLOCK_TYPE&quot; =&gt; &quot;catalog&quot;,
	&quot;IBLOCK_ID&quot; =&gt; &quot;7&quot;,
	// ... куча свойств ...
	&quot;CUSTOM_TITLE_DETAIL_PICTURE&quot; =&gt; &quot;&quot;,
	&quot;AJAX_MODE&quot; =&gt; &quot;Y&quot;,  // режим AJAX
	&quot;AJAX_OPTION_SHADOW&quot; =&gt; &quot;N&quot;, // затемнять область
	&quot;AJAX_OPTION_JUMP&quot; =&gt; &quot;N&quot;, // скроллить страницу до компонента
	&quot;AJAX_OPTION_STYLE&quot; =&gt; &quot;Y&quot;, // подключать стили
	&quot;AJAX_OPTION_HISTORY&quot; =&gt; &quot;N&quot;,
	),
	false
);?&gt;
</pre>
<p>Указанным способом можно показывать не только формы, но и любой другой статический и динамический контент.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexvaleev.ru/ajax-form-bitrix-popup/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Как сделать ссылку для печати в Битрикс</title>
		<link>http://alexvaleev.ru/print-link-bitrix/</link>
		<comments>http://alexvaleev.ru/print-link-bitrix/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 19:02:45 +0000</pubDate>
		<dc:creator>Алексей Валеев</dc:creator>
				<category><![CDATA[Справочник]]></category>

		<guid isPermaLink="false">http://alexvaleev.ru/?p=203</guid>
		<description><![CDATA[Ссылки для печати обычно имеют вид Домен/Адрес_страницы/?print=Y Чтобы всегда иметь в ссылке актульный адрес страницы, его необходимо выводить с помощью встроенной функции GetCurPageParam(), которая позволяет удалять и добавлять параметры к текущему адресу. Соответственно html-код будет иметь вид:
&#60;a href=&#34;&#60;?=$APPLICATION-&#62;GetCurPageParam(&#34;print=Y&#34;, array(&#34;print&#34;))?&#62;&#34; title=&#34;Версия для печати&#34;&#62;Версия для печати&#60;/a&#62;
]]></description>
			<content:encoded><![CDATA[<p>Ссылки для печати обычно имеют вид Домен/Адрес_страницы/?print=Y Чтобы всегда иметь в ссылке актульный адрес страницы, его необходимо выводить с помощью встроенной функции GetCurPageParam(), которая позволяет удалять и добавлять параметры к текущему адресу. Соответственно html-код будет иметь вид:</p>
<pre class="brush: html">&lt;a href=&quot;&lt;?=$APPLICATION-&gt;GetCurPageParam(&quot;print=Y&quot;, array(&quot;print&quot;))?&gt;&quot; title=&quot;Версия для печати&quot;&gt;Версия для печати&lt;/a&gt;</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://alexvaleev.ru/print-link-bitrix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Битрикс 11 – большое обновление</title>
		<link>http://alexvaleev.ru/%d0%b1%d0%b8%d1%82%d1%80%d0%b8%d0%ba%d1%81-11-%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%be%d0%b5-%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5/</link>
		<comments>http://alexvaleev.ru/%d0%b1%d0%b8%d1%82%d1%80%d0%b8%d0%ba%d1%81-11-%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%be%d0%b5-%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 19:34:46 +0000</pubDate>
		<dc:creator>Алексей Валеев</dc:creator>
				<category><![CDATA[Bitrix]]></category>
		<category><![CDATA[bitrix]]></category>
		<category><![CDATA[битрикс]]></category>

		<guid isPermaLink="false">http://alexvaleev.ru/?p=201</guid>
		<description><![CDATA[Сегодня вышло большое обновление продуктов линейки Битрикс Управление Сайтом. Для тех, кому недоступна партнерская рассылка, публикую список изменений здесь.
Жирным шрифтом выделены самые полезные, на мой взгляд, изменения. Если Вы хотите приобрести или продлить лицензию 1с-Битрикс, пишите, для клиентов всегда есть приятные сюрпризы:)
Подробное описание можно прочитать на официальном сайте
Главный модуль
11.0.2
- В публичную панель Эрмитажа добавлена кнопка [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня вышло большое обновление продуктов линейки Битрикс Управление Сайтом. Для тех, кому недоступна партнерская рассылка, публикую список изменений здесь.<span id="more-201"></span></p>
<p>Жирным шрифтом выделены самые полезные, на мой взгляд, изменения. Если Вы хотите приобрести или продлить лицензию 1с-Битрикс, <a href="http://alexvaleev.ru/contacts/">пишите</a>, для клиентов всегда есть приятные сюрпризы:)</p>
<p>Подробное описание можно прочитать на <a href="http://www.1c-bitrix.ru/products/cms/new/">официальном сайте</a></p>
<h2>Главный модуль</h2>
<p>11.0.2<br />
- <b>В публичную панель Эрмитажа добавлена кнопка &laquo;Короткий URL&raquo;.</b><br />
- В настройках рейтингов добавлена возможность удалить все данные.</p>
<p>11.0.1<br />
- <b>Добавлена поддержка кириллических имен файлов в публичной части сайта.</b><br />
- Добавлена поддержка кириллических доменов в настройках сайтов.<br />
- На индексной странице панели управления теперь можно настраивать рабочие столы с гаджетами.<br />
- <b>Добавлена страница &laquo;Чеклист контроля качества&raquo; (Настройки &#8211; Инструменты).</b><br />
- <b>Добавлена возможность шифрования пароля при авторизации, включается в настройках модуля.</b><br />
- Добавлен поиск в панели управления по пунктам меню и настройкам модулей.<br />
- Добавлена возможность изменять цвет панели инструментов в настройках интерфейса.<br />
- <b>Добавлено автосохранение форм в панели управления.</b><br />
- Добавлен механизм коротких ссылок и перенаправлений с поддержкой статусов редиректа.<br />
- Добавлена поддержка распределенного кластера (для модуля &laquo;Кластер&raquo;).<br />
- Улучшение и оптимизация механизма рейтингов.</p>
<h2>Торговый каталог</h2>
<p>11.0.1<br />
- <b>Добавлена возможность задания скидок на инфоблок.</b><br />
- <b>Добавлен новый тип скидок &#8211; фиксированная цена.</b><br />
- Добавлена возможность сохранения товара без цен (по умолчанию отключена).<br />
- Исправлена ошибка сохранения товара без цен, имеющего торговые предложения.<br />
- Исправлены интерфейсные ошибки.<br />
- Добавлена поддержка ключей сортировки цен, содержащих nulls (asc,nulls и прочие).<br />
- Разработчикам: CCatalogGroup::GetBaseGroup() возвращает и языкозависимое название типа цен.</p>
<h2>Интернет-магазин</h2>
<p>11.0.2<br />
- Улучшена производительность гаджета &laquo;Заказы&raquo; в панели управления.</p>
<p>11.0.1<br />
- Поддержка механизма автосохранения.<br />
- Добавлен гаджет &laquo;Заказы&raquo; для рабочего стола панели управления.</p>
<h2>Структура сайта</h2>
<p>11.0.1<br />
- Добавлена поддержка кириллических имен файлов в публичной части сайта.<br />
- <b>Добавлена поддержка автосохранения форм редактирования файлов.</b></p>
<h2>Форумы</h2>
<p>11.0.1<br />
-  Исправлена ошибка с показом миниатюр при загрузке больших изображений в форум.<br />
-  Исправлены ошибки, возникающие при многосайтовости.<br />
-  Исправлены другие незначительные ошибки.</p>
<h2>Информационные блоки</h2>
<p>11.0.2<br />
- Исправление незначительных ошибок административного интерфейса.</p>
<p>11.0.1<br />
- Исправление незначительных ошибок административного интерфейса.</p>
<h2>Поиск</h2>
<p>11.0.2<br />
- Исправлена ошибка индексации заголовков для Oracle.</p>
<p>11.0.1<br />
- Исправления незначительных ошибок.</p>
<h2>Статистика</h2>
<p>11.0.1<br />
- Исправление незначительных ошибок административного интерфейса.</p>
<h2>Рассылки</h2>
<p>11.0.1<br />
- Исправление незначительных ошибок административного интерфейса.</p>
<h2>Перевод</h2>
<p>11.0.0<br />
- Незначительные исправления.</p>
<h2>Документооборот</h2>
<p>11.0.1<br />
- Исправление незначительных ошибок административного интерфейса.</p>
<h2>Веб-формы</h2>
<p>11.0.1<br />
- Поддержка механизма автосохранения.</p>
<h2>Валюты</h2>
<p>11.0.0<br />
- Добавлена поддержка механизма автосохранения форм в панели управления.</p>
<h2>Почта</h2>
<p>11.0.0<br />
- Добавлена поддержка часовых поясов.</p>
<h2>LDAP</h2>
<p>11.0.0<br />
- Добавлена поддержка часовых поясов.</p>
<h2>Блоги</h2>
<p>11.0.1<br />
- Добавлена возможность комментирования на AJAX (включается в настройках компонента).<br />
- Добавлена подсветка новых комментариев.</p>
<h2>Обучение</h2>
<p>11.0.1<br />
- Незначительные исправления.</p>
<h2>Веб-сервисы</h2>
<p>11.0.0<br />
- Исправлено описание веб-сервиса статистики.<br />
- Переход на новую версию.</p>
<h2>Фотогалерея 2.0</h2>
<p>11.0.2<br />
-  Исправления интерфейсных и функциональных ошибок.</p>
<p>11.0.1<br />
-  Исправления интерфейсных и функциональных ошибок.</p>
<h2>Монитор производительности</h2>
<p>11.0.1<br />
- Исправления незначительных ошибок.</p>
<h2>Социальная сеть</h2>
<p>11.0.2<br />
- Добавлена поддержка лайков в микроблогах.<br />
- Изменен показ в Живой ленте сообщения блога с катом.<br />
- Добавлена поддержка лайков в раскрытом списке комментариев в Живой ленте.</p>
<h2>Проактивная защита</h2>
<p>11.0.2<br />
- Улучшения антивируса.<br />
- Улучшения проактивного фильтра.</p>
<p>11.0.1<br />
- Дополнен белый список антивируса.</p>
<h2>Поисковая оптимизация</h2>
<p>11.0.0<br />
- Поддержка технологии автосохранения.<br />
- Интерфейсные исправления.<br />
- Исправления языковых фраз.</p>
<h2>Социальные сервисы</h2>
<p>11.0.0<br />
- Теперь при авторизации у OpenID-провайдера запрашивается дополнительная информация: дата рождения, почтовый индекс, страна, часовой пояс.<br />
- OpenID: исправлена ошибка перекодирования имени при регистрации.<br />
- OpenID: исправлена ошибка при авторизации на сайтах, работающих в режиме https.</p>
<h2>Облачные хранилища</h2>
<p>11.0.1<br />
- Добавлена поддержка OpenStack Swift и Rackspace files.<br />
- Добавлен просмотр файлов хранилищ.</p>
<h2>Контроллер сайтов</h2>
<p>11.0.1<br />
- Исправления незначительных ошибок.</p>
<h2>Компрессия</h2>
<p>11.0.0<br />
- Переход на новую версию.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexvaleev.ru/%d0%b1%d0%b8%d1%82%d1%80%d0%b8%d0%ba%d1%81-11-%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%be%d0%b5-%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Рекомендации интегратору 1с-Битрикс</title>
		<link>http://alexvaleev.ru/top-pravil-shablon-bitrix/</link>
		<comments>http://alexvaleev.ru/top-pravil-shablon-bitrix/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 09:19:57 +0000</pubDate>
		<dc:creator>Алексей Валеев</dc:creator>
				<category><![CDATA[Bitrix]]></category>
		<category><![CDATA[bitrix]]></category>
		<category><![CDATA[битрикс]]></category>
		<category><![CDATA[шаблон]]></category>

		<guid isPermaLink="false">http://alexvaleev.ru/?p=200</guid>
		<description><![CDATA[ Тема статьи навеяна результатами наблюдений за методикой создания шаблонов различными разработчиками, чьи проекты попадали мне на поддержку. Порой разобраться в, казалось бы, такой простой сущности как шаблон очень и очень сложно. Исходя из этого я решил выделить несколько правил создания шаблонов для 1с-Битрикс, которые призваны облегчить жизнь при поддержке сайта. Однако я не претендую [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://alexvaleev.ru/wp-content/uploads/2011/09/top-recomend-150x150.png" alt="" title="Рекомедации разработчикам Битрикс" width="150" height="150" class="alignleft size-thumbnail wp-image-199" /> Тема статьи навеяна результатами наблюдений за методикой создания шаблонов различными разработчиками, чьи проекты попадали мне на поддержку. Порой разобраться в, казалось бы, такой простой сущности как шаблон очень и очень сложно. Исходя из этого я решил выделить несколько правил создания шаблонов для 1с-Битрикс, которые призваны облегчить жизнь при поддержке сайта. Однако я не претендую на абсолютную истину и все нижеописанные рекомендации складываются исключительно из личного опыта. <span id="more-200"></span></p>
<h2>Логика и представление.</h2>
<p>Необходимость разделять процессы формирования и вывода результа нужно запомнить как аксиому. Архитектура системы Битрикс дает нам возможность изменять результаты работы компонента (если по каким-либо причинам не хочется его копировать) на этапе вывода &#8211; в файле result_modifier.php его шаблона. Следует помнить, что он кешируется наряду с template.php, т.е. допускает использование в разумных пределах дополнительных выборок через API системы. Разумеется, это справедливо только при включенном кешировании в настройках компонента.</p>
<p>Некоторые сложности использования дополнительных файлов шаблона компонента (script.js, result_modifier.php, component_epilog.php) создает сам Битрикс &#8211; во-первых, из административной части в 1 клик невозможно создать обычный файл, без подключенного хедера и футера. Во-вторых, неплохо бы добавить кнопки &laquo;Создать result_modifier.php&raquo;  и  &laquo;Создать component_epilog.php&raquo; из меню компонента.</p>
<h2>Лишняя информация</h2>
<p>В процессе <a href="http://alexvaleev.ru/sozdaem-shablon-bitrix/">интеграции</a> мы чаще всего копируем стандартные шаблоны компонентов. Они, в свою очередь, почти всегда выводят максимум доступной информации. Если вывод какого-либо блока не подразумевается совсем, не стоит оставлять кусок кода, отвечающий за его показ.</p>
<p>Например, вывод дополнительных полей в news.list. Код шаблона компонента при невыбранных полях в настройках ничего не выводит, но по сути он там лишний! Если в ТЗ и макете нет упоминания об этих полях, код лучше удалить. При этом улучшится читабельность (чтобы понять насколько все может быть запутано, загляните в стандартный шаблон форума или блога) и снизится порог вникания в шаблон. В любом случае, при необходимости недостающие части легко добавить.</p>
<p>То же самое касается файлов. Из скопированного комплексного компонента можно и нужно удалять ненужные шаблоны компонентов, вместо них автоматически подключатся стандартные.</p>
<p>Система шаблонов в Битрикс допускает формулировку &laquo;а вдруг где-нибудь используется&raquo;, поэтому лучше сразу удалить лишнее, чем копить как снежный ком ненужную информацию.</p>
<h2>Проектирование шаблона</h2>
<p>Если Вы делаете шаблон с &laquo;нуля&raquo;, сразу продумывайте его структуру &#8211; где будут храниться изображения, шаблоны компонентов, включаемые файлы. Тут наиболее распространены 2 варианта:</p>
<p>1. Вся информация внутри шаблона. Этот вариант следует использовать когда точно известно, что <a href="http://alexvaleev.ru/category/free-template/">шаблон сайта</a> будет один или когда все они радикально отличаются друг от друга. Плюсом такого размещения являяется возможность скачать шаблон сайта целиком. К слову, для больших сайтов необходимость этого стремится к нулю в силу сильной интеграции с инфоблоками, форумами и другой информации из БД.</p>
<p>2. Шаблоны компонентов, картинки, скрипты, включаемые файлы вынесены за пределы шаблонов сайта. Такой вариант позволяет быстро изменить данные во всех шаблонах разом. Например, обновленный дизайн формы поиска или картинка логотипа гарантированно изменится на всем сайте. <!--more-->
<p>Выполнение этих несложных правил позволяют без труда в короткие сроки возращаться к старым и забытым проектам. А главное, улучшение качества кода и интеграции в целом поднимут вашу ценность как разработчика! </p>
]]></content:encoded>
			<wfw:commentRss>http://alexvaleev.ru/top-pravil-shablon-bitrix/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Как получить 1с-Битрикс «Старт» бесплатно</title>
		<link>http://alexvaleev.ru/free-1c-bitrix-start/</link>
		<comments>http://alexvaleev.ru/free-1c-bitrix-start/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 20:19:29 +0000</pubDate>
		<dc:creator>Алексей Валеев</dc:creator>
				<category><![CDATA[Bitrix]]></category>
		<category><![CDATA[bitrix]]></category>
		<category><![CDATA[бесплатно]]></category>
		<category><![CDATA[битрикс]]></category>

		<guid isPermaLink="false">http://alexvaleev.ru/?p=197</guid>
		<description><![CDATA[Некоторое время назад стало известно, что можно совершенно легально получить бесплатную лицензию на продукцию 1с-Битрикс, правда одной из младших редакций &#8211; версии &#171;Старт&#187;. 
Для получения ключа необходимо оформить заявку на этом сайте и создать сайт на &#171;Старте&#187; с использованием модуля &#171;РосЯма&#187;.
История
Совсем недавно известный российский деятель и блоггер Алексей Навальный решил выложить в открытый доступ исходные [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://alexvaleev.ru/wp-content/uploads/2011/09/free-bitrix.jpg" alt="" title="Битрикс &quot;Старт&quot;" width="150" height="101" class="alignleft size-full wp-image-198" />Некоторое время назад стало известно, что можно совершенно легально получить бесплатную лицензию на продукцию 1с-Битрикс, правда одной из младших редакций &#8211; версии &laquo;Старт&raquo;. <span id="more-197"></span></p>
<p>Для получения ключа необходимо оформить заявку на <a rel="nofollow" href="http://rosyama.ru/get_bitrix/">этом сайте</a> и создать сайт на &laquo;Старте&raquo; с использованием <a rel="nofollow" href="http://habrahabr.ru/blogs/open_source/128183/">модуля &laquo;РосЯма&raquo;</a>.</p>
<h2>История</h2>
<p>Совсем недавно известный российский деятель и блоггер Алексей Навальный решил выложить в открытый доступ исходные коды проекта &laquo;РосЯма&raquo;. По счастливой случайности он оказался разработан на Битриксе, что вызвало некоторые трудности при переносе исходного кода из работающего сайта.</p>
<p>Новость об этом была опубликована на ХабраХабре, где Сергей Рыжиков довольно <a rel="nofollow" href="http://habrahabr.ru/blogs/open_source/128183/#comment_4235470">резко</a> выразился о методах распространения модулей для Битрикса, противоречащих установленным правилам маркетплейса.</p>
<p>Программисты не любят систему в силу платности, монструозности кода, жестких рамках при разработке, и, по общему мнению, некоторой кривости. Широкий жест руководства поможет (или должен помочь) сгладить негативное отношение.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexvaleev.ru/free-1c-bitrix-start/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

