<?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>Alto CMS/Блог им. zikkuratvk</title>
			<link>http://79.174.14.219/profile/zikkuratvk/created/topics/</link>
			<description><![CDATA[Это ваш персональный блог.]]></description>
			<language>ru</language>
			<managingEditor>zikkuratvk@gmail.com</managingEditor>
			<webMaster>noreply@altocms.ru</webMaster>
			<generator>Alto CMS v.1.5.0b1</generator>
							<item>
					<title>Как сделать разбиение на абзацы в Alto 1.0</title>
					<guid isPermaLink="true">http://79.174.14.219/t/699/</guid>
					<link>http://79.174.14.219/699.html</link>
					<author>zikkuratvk@gmail.com</author>
					<description><![CDATA[Эта статья призвана немного исправить проблемы <a href="https://altocms.ru/871.html" title="<strong>Alto&nbsp;</strong><br>Если вы собираетесь создавать сайт и выбираете для этой цели CMS (или «движок», как еще говорят), то наверняка у вас возникает вопрос: «А чем же Alto лучше других CMS? И годится ли для моих задач?»&lt;br/&gt;
&lt;br/&gt;
Выбирая Alto CMS, вы получаете «из коробки» функционал, который в других движках достигается установкой множества плагинов:" class="term">ALTO</a> в области редактора контента.<br>
Немного предыстории...<br>
В <a href="https://altocms.ru/871.html" title="<strong>Alto&nbsp;</strong><br>Если вы собираетесь создавать сайт и выбираете для этой цели CMS (или «движок», как еще говорят), то наверняка у вас возникает вопрос: «А чем же Alto лучше других CMS? И годится ли для моих задач?»&lt;br/&gt;
&lt;br/&gt;
Выбирая Alto CMS, вы получаете «из коробки» функционал, который в других движках достигается установкой множества плагинов:" class="term">Alto</a>, как и в LS, есть сдоровенная прореха в области редатора, хотя это не считают проблемой, однако это проблема.<br>
Дело в том, что движок генерирует такой код статьи:<br>
<pre class="prettyprint"><code>
Такой текст &#60; br &#62;
Текст &#60;br&#62;
такой
</code></pre><br>
С точки зрения семантики это не правильно, да и если честно не удобно оперировать br, об этом говорят много, но почему-то ничего не меняется. <br>
<h4>Этот рецепт создан для визульного редактора tinimce</h4>
Что надо сделать?<br>
первое, что нам надо исправить это фильтрацию jevix. Если честно мне не понятно до сих пор почему теги абзацов блокируются jevix по умолчанию, по этому мы сделаем с точностью до наоборот заблокируем br.<br>
в файле:<br>
/app/config/jevix.php<br>
<pre class="prettyprint"><code>
&#60;?php

return array(
	&#39;default&#39; =&#62; array(
		// Разрешённые теги
		&#39;cfgAllowTags&#39; =&#62; array(
			// вызов метода с параметрами
			array(
				array(&#39;p&#39;, &#39;ls&#39;,&#39;cut&#39;,&#39;a&#39;, &#39;img&#39;, &#39;i&#39;, &#39;b&#39;, &#39;u&#39;, &#39;s&#39;, &#39;small&#39;, &#39;video&#39;, &#39;em&#39;, &#39;strong&#39;, &#39;nobr&#39;, &#39;li&#39;, &#39;ol&#39;, &#39;ul&#39;, &#39;sup&#39;, &#39;abbr&#39;, &#39;sub&#39;, &#39;acronym&#39;, &#39;h2&#39;, &#39;h3&#39;, &#39;h4&#39;, &#39;h5&#39;, &#39;h6&#39;, &#39;hr&#39;, &#39;pre&#39;, &#39;code&#39;, &#39;codeline&#39;, &#39;object&#39;, &#39;param&#39;, &#39;embed&#39;, &#39;blockquote&#39;, &#39;iframe&#39;,&#39;table&#39;,&#39;tbody&#39;,&#39;thead&#39;,&#39;th&#39;,&#39;tr&#39;,&#39;td&#39;),
			),
		),
		// Коротие теги типа
		&#39;cfgSetTagShort&#39; =&#62; array(
			array(
				array(&#39;img&#39;, &#39;hr&#39;, &#39;cut&#39;,&#39;ls&#39; )
			),
		),
		// Теги, после которых необходимо пропускать одну пробельную строку
		&#39;cfgSetTagBlockType&#39; =&#62; array(
			array(
				array(&#39;h2&#39;,&#39;h3&#39;,&#39;h4&#39;,&#39;h5&#39;,&#39;h6&#39;,&#39;ol&#39;,&#39;ul&#39;,&#39;blockquote&#39;,&#39;pre&#39;,&#39;table&#39;,&#39;iframe&#39;,&#39;p&#39;)
			)
		),
	),
);
// EOF
</code></pre><br>
Вообще вы можете настроить на свой цвет и вкус... это то, что мне подходит в данный момент.<br>
После этого у нас появилась возможность публиковать теги абзацов &#60; p &#62;. Кстати теперь теги будут работать везед в том числе и в редакторе markitup, теги абзаца проставляются в этом редакторе через ctrl+enter.<br>
Теперь нам надо найти конфиг файла редактора tinimce, это нам нужно для очень важной штуки. Дело все в том, что в конфиг файле указан запрет на использование тегов абзаца «p», и по умочанию включен тег перевода строик «br».<br>
У меня достаточно много времени ушло на поиск именно правильного конфига, из-за перемещения библиотек.<br>
Правильный путь к конфигу:<br>
/common/templates/frontend/libs/js/engine/settings.js<br>
Находим параметры: <br>
force_p_newlines и ставим его в положение «true».<br>
force_br_newlines ставим в положение false или можете просто удалить эту строку.<br>
<br>
Все теперь редактор tinimce нормально работает с абзацами. Осталось понять как запустить массовую перегенерацию статей согласно параметрам прописанным в jevix?]]></description>
					<pubDate>Sat, 09 Aug 2014 02:08:43 +0400</pubDate>
									</item>
							<item>
					<title>Как сделать нормальную авторизаци OpenID в ALTO</title>
					<guid isPermaLink="true">http://79.174.14.219/t/295/</guid>
					<link>http://79.174.14.219/295.html</link>
					<author>zikkuratvk@gmail.com</author>
					<description><![CDATA[Задумал я сделать социальную авторизацию на <a href="https://altocms.ru/871.html" title="<strong>Alto&nbsp;</strong><br>Если вы собираетесь создавать сайт и выбираете для этой цели CMS (или «движок», как еще говорят), то наверняка у вас возникает вопрос: «А чем же Alto лучше других CMS? И годится ли для моих задач?»&lt;br/&gt;
&lt;br/&gt;
Выбирая Alto CMS, вы получаете «из коробки» функционал, который в других движках достигается установкой множества плагинов:" class="term">ALTO</a>, так как обычная авторизация — это конечно хорошо, но все таки не очень инстересно, да и пользователь ленивый пошел.<br>
Мои надежды оправдались и плагин OpenID отлично завелся на <a href="https://altocms.ru/871.html" title="<strong>Alto&nbsp;</strong><br>Если вы собираетесь создавать сайт и выбираете для этой цели CMS (или «движок», как еще говорят), то наверняка у вас возникает вопрос: «А чем же Alto лучше других CMS? И годится ли для моих задач?»&lt;br/&gt;
&lt;br/&gt;
Выбирая Alto CMS, вы получаете «из коробки» функционал, который в других движках достигается установкой множества плагинов:" class="term">ALTO</a>. Создал приложения для социальных сетей благо опыт большой в этом деле.<br>
И задумался... ну не понятно рядовому человеку, что есть такое OpenID, а вот вконтактик и твиттер очень даже понятно.<br>
По этому я вспомнил что LS это большая система из хуков, и хоть я ее не сильно поддерживаю, но иногда это очень даже удобно.<br>
По этому установил посмотрел фаил: plugins/openid/templates/skin/default/actions/ActionLogin/openid.tpl<br>
Все конечно красиво и даже позволяет перенести все в другой шаблон.<br>
Нашел где подключается в авторизацию формочка openid: /plugins/openid/templates/skin/default/inject_login.tpl<br>
И не долго соорудил из кусов шаблона openid вот такой код котоый и вставил в файл inject_login.tpl.<br>
<pre class="prettyprint"><code>
&#60;link rel=&#34;stylesheet&#34; type=&#34;text/css&#34; href=&#34;{$aTemplateWebPathPlugin.openid}css/style.css&#34; media=&#34;all&#34; /&#62;

&#60;div id=&#34;vk_api_transport&#34;&#62;&#60;/div&#62;
&#60;script src=&#34;http://vkontakte.ru/js/api/openapi.js&#34; type=&#34;text/javascript&#34; charset=&#34;windows-1251&#34;&#62;&#60;/script&#62;

&#60;div id=&#34;fb-root&#34;&#62;&#60;/div&#62;
&#60;script src=&#34;http://connect.facebook.net/en_US/all.js&#34;&#62;&#60;/script&#62;

&#60;div class=&#34;openid-block&#34;&#62;

	&#60;div class=&#34;openid-header&#34;&#62;{$aLang.plugin.openid.enter_title} &#60;a href=&#34;{<a href="https://altocms.ru/909.html" title="<strong>router&nbsp;</strong><br>Роутер, это &lt;strong&gt;синглетон&lt;/strong&gt;, основным назначением которого является разбор url, который запрашивает пользователь и запуск соответствующего &lt;strong&gt;экшена&lt;/strong&gt; на исполнение. &lt;br/&gt;
Роутер является единственной точкой вхождения в приложение и только он определяет что сам движок и его плагины будут делать.&lt;br/&gt;
&lt;br/&gt;
Первое с чего начинает свою работу роутер, это разбирает url на составляющие, а как он это делает покажу на примере разбора адреса страницы &lt;em&gt;&lt;a href=&quot;http://example.com/action/event/param1/param2/p0?p3&amp;p4&amp;p5&quot; rel=&quot;nofollow&quot; &gt;example.com/action/event/param1/param2/p0?p3&amp;p4&amp;p5&lt;/a&gt;)&lt;/em&gt;&lt;br/&gt;
" class="term">router</a> page=&#39;login&#39;}openid/&#34; title=&#34;{$aLang.plugin.openid.enter_title_alter}&#34; &#62;&#60;img src=&#34;{$aTemplateWebPathPlugin.openid}img/openid.png&#34; alt=&#34;openid&#34; class=&#34;openid-img&#34; title=&#34;{$aLang.openid}&#34; alt=&#34;{$aLang.openid}&#34;/&#62;&#60;/a&#62;&#60;/div&#62;
		&#60;div class=&#34;openid-services&#34;&#62;
			&#60;p&#62;{$aLang.plugin.openid.choose_service}&#60;/p&#62;

			&#60;a href=&#34;javascript: openid_fb()&#34;&#62;&#60;img src=&#34;{$aTemplateWebPathPlugin.openid}img/openid_fb.png&#34; alt=&#34;facebook&#34; width=&#34;154px&#34; height=&#34;22px&#34; /&#62;&#60;/a&#62;
			&#60;a href=&#34;javascript: openid_twitter()&#34;&#62;&#60;img src=&#34;{$aTemplateWebPathPlugin.openid}img/openid_twitter.png&#34; alt=&#34;twitter&#34; width=&#34;151px&#34; height=&#34;24px&#34; /&#62;&#60;/a&#62;
			&#60;a href=&#34;javascript: openid_vk()&#34;&#62;&#60;img src=&#34;{$aTemplateWebPathPlugin.openid}img/openid_vk.png&#34; alt=&#34;vkontakte&#34; width=&#34;84px&#34; height=&#34;21px&#34; /&#62;&#60;/a&#62;			
		&#60;/div&#62;					

&#60;/div&#62;

		
&#60;script language=&#34;JavaScript&#34; type=&#34;text/javascript&#34;&#62;
var sVkTransportPath=&#39;{cfg name=&#39;plugin.openid.vk.transport_path&#39;}&#39;;
var iVkAppId=&#39;{cfg name=&#39;plugin.openid.vk.id&#39;}&#39;;
var iFbAppId=&#39;{cfg name=&#39;plugin.openid.fb.id&#39;}&#39;;
var sVkLoginPath=&#39;{$aRouter.login}&#39;+&#39;openid/vk/&#39;;
var sFbLoginPath=&#39;{$aRouter.login}&#39;+&#39;openid/fb/&#39;;
var sTwitterLoginPath=&#39;{$aRouter.login}&#39;+&#39;openid/twitter/?authorize=1&#39;;
{literal}

	function openid_vk() {		
		VK.Auth.getLoginStatus(function(response) {
			if (response.session) {
				window.location = sVkLoginPath;
			} else {
				VK.Auth.login(function(response) {
					if (response.session) {
						window.location = sVkLoginPath;
					}
				},VK.access.FRIENDS);				
			}
		});
	}
	
	function openid_fb() {		
		FB.getLoginStatus(function(response) {
			if (response.session) {
				window.location = sFbLoginPath;
			} else {
				//FB.login(null,{scope:&#39;read_stream,publish_stream,offline_access,email&#39;});
				FB.login(function(response) {
					console.log(&#39;fsdfs&#39;,response);
					if (response.authResponse) {
						window.location = sFbLoginPath;
					}
				},{scope:&#39;read_stream,publish_stream,offline_access,email&#39;});
			}
		});
	}
	
	function openid_twitter() {
		window.location = sTwitterLoginPath;
	}
	
	VK.init({apiId: iVkAppId, nameTransportPath: sVkTransportPath});
	FB.init({appId: iFbAppId, status: true, cookie: true, xfbml: true});
		
&#60;/script&#62;
{/literal}
</code></pre><br>
После сохранения получаем вот такую картинку:<br>
<img src="https://altocms.ru/uploads/images/00/03/95/2013/08/23/fcff3f.png"><br>
Все равботает :-)<br>
Помоему это получился почти полный аналог коммерческой версии плагины :-) Времени занимает не больше чем покупка этого самого плагина.<br>
Кстати для полноты эффекта рекомендую поставить плагин OpenID Comments. <br>
Удачи вам в ковырянии движка и плагинов для него.<br>
<br>
ЗЫ: Кстати немного недорезал код, но кому нужно тот дорежит.]]></description>
					<pubDate>Fri, 23 Aug 2013 13:49:03 +0400</pubDate>
									</item>
							<item>
					<title>По поводу редактора MarkitUp</title>
					<guid isPermaLink="true">http://79.174.14.219/t/292/</guid>
					<link>http://79.174.14.219/292.html</link>
					<author>zikkuratvk@gmail.com</author>
					<description><![CDATA[Сейчас работаю над сайтом на <a href="https://altocms.ru/871.html" title="<strong>Alto&nbsp;</strong><br>Если вы собираетесь создавать сайт и выбираете для этой цели CMS (или «движок», как еще говорят), то наверняка у вас возникает вопрос: «А чем же Alto лучше других CMS? И годится ли для моих задач?»&lt;br/&gt;
&lt;br/&gt;
Выбирая Alto CMS, вы получаете «из коробки» функционал, который в других движках достигается установкой множества плагинов:" class="term">Alto</a>. К сожалению опыт работы с данной CMS не очень большой по этому возник вопрос с редактором, поиск не дал ответов на мой вопрос по этому задаю его здесь. MarkitUp — это отличный редактор, он мне нравится однако у него есть один огромный минус точки зрения редактирования. Это он ставит br при каждом нажатии enter. Что не есть хорошо с точки зрения форматирования текста.<br>
Попробовал повестить на хоткеи обработку тегов Отлично вставляется в редактор, и даже сохраняется, однако при просмотре страницы, все те же br, а абзацы вырезает.<br>
<br>
Хочу спросить как отключить добавление br после каждого энтера, а еще лучше заменить br на оформление тегами — это очень большой плюс бы дало к работе с редактором и самой системой.<br>
<br>
У кого есть какие мысли по поводу правок к дивжку, чтоб материалы выглядели нормально при выводе.]]></description>
					<pubDate>Wed, 21 Aug 2013 14:03:32 +0400</pubDate>
									</item>
					</channel>
	</rss>
