<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
			<title>Переопределение конфигов(виджетов) из common / Вопросы, проблемы и их решения / Alto CMS</title>
			<link>http://79.174.14.219/comments/961/</link>
			<description><![CDATA[Всем привет! Вопрос наверное нубский, но я ничего поиском не нашел... Пытаюсь разделить все по максимуму, чтобы common &amp;#38; engine]]></description>
			<language>ru</language>
			<managingEditor>noreply@altocms.ru</managingEditor>
			<webMaster>noreply@altocms.ru</webMaster>
			<generator>Alto CMS v.1.5.0b1</generator>
							<item>
					<title>Переопределение конфигов(виджетов) из common (comment #17798)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/961/#comment17798</guid>
					<link>http://79.174.14.219/961.html#comment17798</link>
					<author>reexistent@gmail.com</author>
					<description><![CDATA[Я просто копирую весь файл в /app/*/*<br/>
Открывал топик недавно <a href="http://altocms.ru/934.html" rel="nofollow" >altocms.ru/934.html</a>]]></description>
					<pubDate>Sun, 25 Jan 2015 22:58:09 +0300</pubDate>
									</item>
							<item>
					<title>Переопределение конфигов(виджетов) из common (comment #17803)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/961/#comment17803</guid>
					<link>http://79.174.14.219/961.html#comment17803</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Скорее всего вы правильно делаете, но не до конца<br/>
1. Переопределяем виджет в конфиге приложения. Например, если я хочу перенести влево виджет прямого эфира, то в конфиг приложения <em>app/config/widgets.php</em> копирую определения виджета из основного конфига (заметьте, я поменял только 'wgroup' =&gt; 'left')<br/>
<pre class="prettyprint"><code>$config['widgets'][] = array(
    'name' =&gt; 'stream',     // исполняемый виджет Stream
    'wgroup' =&gt; 'left',    // группа, куда нужно добавить виджет
    'priority' =&gt; 100,      // приоритет
    'action' =&gt; array(
        'index',
        'community',
        'filter',
        'blogs',
        'blog' =&gt; array('{topics}', '{topic}', '{blog}'),
        'tag',
    ),
    'params' =&gt; array(
        'items' =&gt; array(
            'comments' =&gt; array('text' =&gt; 'widget_stream_comments', 'type'=&gt;'comment'),
            'topics' =&gt; array('text' =&gt; 'widget_stream_topics', 'type'=&gt;'topic'),
        ),
    ),
);</code></pre><br/>
<br/>
2. Но в шаблоне старт-кит у меня нет левой колонки, добавив в шаблон <em>common/templates/skin/start-kit/tpls/_index.tpl</em> строки<br/>
<pre class="prettyprint"><code>{block name=&quot;layout_vars&quot;}
    {$sidebarPosition='left'}
{/block}</code></pre><br/>
<br/>
3. Но это поможет не во всех случаях, поскольку в шаблонах экшенов также могут быть переменные, которые наш левый зайдбар затрут, потому в шаблонах экшенах нужно проверить есть ли еще переменные и если есть, то корректно их переслать в _index.tpl так, например, для шаблона экшена главной страницы <em>common/templates/skin/start-kit/tpls/actions/index/action.index.index.tpl</em> добавить в блок шаблонов флаг <strong>append</strong> что бы получилось так:<br/>
<pre class="prettyprint"><code>...
{block name=&quot;layout_vars&quot; append}
    {$menu=&quot;topics&quot;}
{/block}
...</code></pre><br/>
<br/>
4. Ну и в конце проверить какая группа шаблонов всё таки выводится в сайдбаре. В шаблоне <em>common/templates/skin/start-kit/tpls/commons/common.sidebar.tpl</em> видим, что выводится правая группа <br/>
<pre class="prettyprint"><code>{wgroup group='right'}</code></pre><br/>
а в настройках виджета — левая, соответственно поменяем на<br/>
<pre class="prettyprint"><code>{wgroup group='left'}</code></pre> <br/>
<br/>
Это был длинный способ, а короче можно просто в шаблоне <em>common/templates/skin/start-kit/themes/default/layouts/default.tpl</em> поменять местами колонки )<br/>
<img src="http://altocms.ru/uploads/images/00/02/20/2015/01/25/0u242e269c-196ee15c-1b59c5a8.png" />]]></description>
					<pubDate>Sun, 25 Jan 2015 23:36:05 +0300</pubDate>
									</item>
							<item>
					<title>Переопределение конфигов(виджетов) из common (comment #17804)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/961/#comment17804</guid>
					<link>http://79.174.14.219/961.html#comment17804</link>
					<author>aleksanderd@gmail.com</author>
					<description><![CDATA[Спасибо за оперативные ответы!<br/>
<br/>
Но как то не очень красиво — копировать объявление всего виджета. Вот бы, скажем, указать лишь name(или что там ключем служит) и wgroup, а остальное пусть остается как в common прописано… А то избыточность получается, как по тексту кода, так и, скорее всего, по выполнению.<br/>
И если что то изменится в релизе альты на эту тему, тогда придется заново копиравать изменившийся код с релиза и опять менять там right=&gt;left и тд и тп…<br/>
<br/>
Я нашел Config:Get и тд, но это немного не в кассу: Config::Get('widgets') возвращает массив с циферками в качестве ключей… то есть получить конфиг виджета по его имени с помощью Config::*** я не понял как… Догадываюсь, что есть хелперы именно про виджеты, но еще не докопал.<br/>
<br/>
По остальному — очень интересно, хотя и не все понятно :) Спасибо! <br/>
<br/>
Я использую experience и там тоже подобное в layout'е. И тут меня путает как раз $sidebarPosition… Я не догоняю — это вариант для одно-сайдбарного вида, где лишь меняется его позиция, но он один? И это определяется как раз значением $sidebarPosition. Но тогда нафига left/right в конфигах виджетов? <br/>
Или же это для двух-сайдбарных видов(где может быть левый, правый по отдельности и вместе, уже в зависимости от значений wgroup виджетов). В таком случае, как в один момент времени значение могет быть == 'left и != 'left'? :) Или как то за два прохода? :) Ну короче я тут плыву…]]></description>
					<pubDate>Mon, 26 Jan 2015 00:18:01 +0300</pubDate>
									</item>
							<item>
					<title>Переопределение конфигов(виджетов) из common (comment #17808)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/961/#comment17808</guid>
					<link>http://79.174.14.219/961.html#comment17808</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[<blockquote>Но как то не очень красиво — копировать объявление всего виджета. Вот бы, скажем, указать лишь name...</blockquote>Такой функционал реализован в версии 1.1. Кроме того, положение виджетов вы можете менять и в админке «Сайт &gt; Виджеты», а не в файле конфига.<br/>
<br/>
На счет <em>left</em>/<em>right</em>. Тут всё просто: в любом месте шаблона вы можете указать<br/>
<pre class="prettyprint"><code>{wgroup group='very_very_right_position'}</code></pre><br/>
а в конфиге виджета<br/>
<pre class="prettyprint"><code>'wgroup' =&gt; 'very_very_right_position', </code></pre><br/>
он там и выведется. То есть left/right — это просто места в шаблоне. Если вам удобно — назовите мето размещения виджетов <em>column</em> и используйте его )<br/>
<br/>
<blockquote>В таком случае, как в один момент времени значение могет быть == 'left и != 'left'? :) </blockquote>Не может — тема одноколоночная — либо слева, либо справа. Может быть тема трёхколоночная вообще без переменной <em>sidebarPosition</em> — это особенности конкретного шаблона.]]></description>
					<pubDate>Mon, 26 Jan 2015 00:59:27 +0300</pubDate>
									</item>
							<item>
					<title>Переопределение конфигов(виджетов) из common (comment #17817)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/961/#comment17817</guid>
					<link>http://79.174.14.219/961.html#comment17817</link>
					<author>reexistent@gmail.com</author>
					<description><![CDATA[<blockquote>«Сайт &gt; Виджеты»</blockquote><br/>
Только хотел сказать — туда же и виджеты лпгинов попадают, и там же можно их настраивать, верно?]]></description>
					<pubDate>Mon, 26 Jan 2015 02:00:53 +0300</pubDate>
									</item>
							<item>
					<title>Переопределение конфигов(виджетов) из common (comment #17843)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/961/#comment17843</guid>
					<link>http://79.174.14.219/961.html#comment17843</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Да, конечно, все виджеты туда попадают.]]></description>
					<pubDate>Mon, 26 Jan 2015 14:28:49 +0300</pubDate>
									</item>
							<item>
					<title>Переопределение конфигов(виджетов) из common (comment #17819)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/961/#comment17819</guid>
					<link>http://79.174.14.219/961.html#comment17819</link>
					<author>aleksanderd@gmail.com</author>
					<description><![CDATA[<blockquote>положение виджетов вы можете менять и в админке «Сайт &gt; Виджеты», а не в файле конфига.</blockquote>чет у меня не сработало :( попробовал пару раз написать left — оно тут же после сабмита формы в списке виджетов все равно все в right. В базе с ходу не нашел таблицы «про виджеты», разбираться не стал — полез в конфигах копаться. Нада будет еще пробить в админке эту фичу.<br/>
<br/>
<blockquote>тема одноколоночная — либо слева, либо справа. Может быть тема трёхколоночная вообще без переменной sidebarPosition — это особенности конкретного шаблона.</blockquote>ага! и поэтому приходится и $sidebarPosition задавать, и в шаблонах зон прописывать left, и в самих виджетах задавать «положение» как left… верно?<br/>
В этом смысле, для большей унификации наверное лучше отталкиваться от именования зон в конфигах виджетов по типу: main-sidebar, second-sidebar и тд...? А геометрическое позиционирование самих зон будет задаваться уже в шаблоне и/или его конфигах/настройках. При таком подходе имена зон не несут в себе информации о позиции геометрической, но задают (смысловую?) группу/зону… и тогда смена лево-право-верх-вних-итд уже действительно делается в одном месте(в шаблоне или его конфиге), а перемещение виджетов из зоны в зоны — путем смены wgroup… верно мыслю? :)]]></description>
					<pubDate>Mon, 26 Jan 2015 02:25:24 +0300</pubDate>
									</item>
					</channel>
	</rss>
