<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Joomla портал &#187; Статьи</title>
	<atom:link href="/category/stati/feed" rel="self" type="application/rss+xml" />
	<link>https://datso.net</link>
	<description>статьи, новости, обзоры cms Joomla</description>
	<lastBuildDate>Fri, 14 Jan 2011 13:44:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Добавление новой группы пользователей Joomla</title>
		<link>https://datso.net/stati/dobavlenie-novoy-gruppyi-polzovateley-joomla.html</link>
		<comments>https://datso.net/stati/dobavlenie-novoy-gruppyi-polzovateley-joomla.html#comments</comments>
		<pubDate>Fri, 14 Jan 2011 13:44:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Статьи]]></category>

		<guid isPermaLink="false">https://datso.net/?p=38</guid>
		<description><![CDATA[Как известно, в Joomla существует фиксированный набор групп пользователей с заранее предопределенными правами на различные функции системы. Однако при создании сайтов возникают задачи, которые требуют наличия дополнительных групп пользователей со специфическими правами. Наиболее распространенным решением этой задачи является использование компонента-хака JACLPlus, но не всегда это уместно. На прошлой неделе мне пришлось решать подобную задачу и [...]]]></description>
			<content:encoded><![CDATA[<p>Как известно, в Joomla существует фиксированный набор групп пользователей с заранее предопределенными правами на различные функции системы. Однако при создании сайтов возникают задачи, которые требуют наличия дополнительных групп пользователей со специфическими правами. <span id="more-38"></span>Наиболее распространенным решением этой задачи является использование компонента-хака JACLPlus, но не всегда это уместно. На прошлой неделе мне пришлось решать подобную задачу и в этой статье я расскажу как это было реализовано.<br />
Постановка задачи</p>
<p>Необходимо добавить в Joomla дополнительную группу пользователей, которая обладала бы следующими правами:<br />
Доступ к административной панели<br />
Доступ к заданному компоненту (для простоты выберем компонент Remository)<br />
Не имела бы доступа к остальным разделам административной панели Joomla</p>
<p>Как мы видим, наиболее похожая группа пользователей это Manager, так как в ней есть и доступ в административную панель Joomla, и нет доступа к большинству административных функций (управление пользователями, расширениями и т.д.). Чего же нам нехватает? Да, в принципе, самой малости:<br />
Нет доступа к компоненту Remository)<br />
Есть доступ к Медиа менеджеру, Меню и Материалам</p>
<p>Для решения нашей задачи можно пойти двумя путями: изменить права группы Manager и добавить новую группу, похожую частично на Manager, но с урезанными правами. Первая задача достаточно простая, но не столь интересная в реализации. Эту тему уже не раз обсуждали на форуме, и решения найти не проблема. Я же хочу рассказать о том, как создать дополнительную группу, и как ее наделить нужными правами для решения нашей задачи.</p>
<p>Перед началом модификаций рекомендую создать резервную копию изменяемых файлов и базы данных. Если у вас вдруг что-то не получится наличие резервной копии позволит вам откатить изменения и восстановить работоспособность сайта.<br />
Добавление новой группы пользователей Joomla</p>
<p>Как известно, в Joomla существует следующая иерархия пользователей:<br />
ROOT<br />
| &#8211; USERS<br />
| &#8212; PublicFrontend<br />
| &#8211; - &#8211; Registered<br />
| &#8211; - &#8211; - Author<br />
| &#8211; - &#8211; - &#8211; Editor<br />
| &#8211; - &#8211; - &#8211; - Publisher<br />
| &#8211; - Public Backend<br />
| &#8211; - &#8211; Manager<br />
| &#8211; - &#8211; - Administrator<br />
| &#8211; - &#8211; - &#8211; Super Administrator</p>
<p>Таким образом, нам надо добавить группу пользователей (назовем ее DownloadsManager) в качестве дочерней для Public Backend, чтобы дерево групп пользователей приняло вид:<br />
ROOT<br />
| &#8211; USERS<br />
| &#8212; PublicFrontend<br />
| &#8211; - &#8211; Registered<br />
| &#8211; - &#8211; - Author<br />
| &#8211; - &#8211; - &#8211; Editor<br />
| &#8211; - &#8211; - &#8211; - Publisher<br />
| &#8211; - Public Backend<br />
| &#8211; - &#8211; Manager<br />
| &#8211; - &#8211; - Administrator<br />
| &#8211; - &#8211; - &#8211; Super Administrator<br />
| &#8211; - &#8211; DownloadsManager</p>
<p>Информация о существующих группах пользователей и их иерархии располагается в таблице jos_core_acl_aro_groups. Я не буду серьезно вдаваться в подробности технической реализации хранения данных в этой таблице, ограничусь готовым SQL-запросом, который позволит нам добавить нужную группу:<br />
SET @parent_name = &#8216;Public Backend&#8217;;<br />
SET @new_name = &#8216;DownloadsManager&#8217;;</p>
<p>SELECT @ins_id := group_id, @ins_lft := lft, @ins_rgt := rgt<br />
FROM jos_core_acl_aro_groups<br />
WHERE name = @parent_name;</p>
<p>SELECT @new_id := MAX(group_id) + 1 FROM jos_core_acl_aro_groups;</p>
<p>UPDATE jos_core_acl_aro_groups SET rgt=rgt+2 WHERE rgt&gt;=@ins_rgt;<br />
UPDATE jos_core_acl_aro_groups SET lft=lft+2 WHERE lft&gt;@ins_rgt;</p>
<p>INSERT INTO jos_core_acl_aro_groups (group_id,parent_id,name,lft,rgt)<br />
VALUES (@new_id,@ins_id,@new_name,@ins_rgt,@ins_rgt+1);</p>
<p>После выполнения данного запроса в списке доступных групп пользователей появится DownloadsManager. Однако, если мы в Менеджере пользователей попробуем создать пользователя с такой группой, мы гарантированно получим ошибку: «You cannot create a user with this user Group level, only Super Administrators have this ability». Это означает, что текущий пользователь не может создать пользователя с группой, которая не является дочерней, по отношению к группе текущего пользователя. Это ограничение было введено для того, чтобы пользователи группы Администратор не могли создавать Суперадминистраторов.</p>
<p>В нашем случае, созданная группа DownloadsManager не является дочерней даже для Суперадминистратора, поэтому создать такого пользователя не получается. Чтобы это разрешить, мы сделаем небольшую модификацию, которая на безопасность не особо повлияет:<br />
Откроем файл /administrator/components/com_user/admin.user.php<br />
Найдем в нем строчку:<br />
if (!in_array($row-&gt;gid,getGIDSChildren($my-&gt;gid))) {<br />
и заменим ее на:<br />
if ($my-&gt;gid != 25 &amp;&amp; !in_array($row-&gt;gid,getGIDSChildren($my-&gt;gid))) {</p>
<p>В результате данной модификации, мы разрешим пользователям группы Суперадминистратор создавать пользователей любых групп.</p>
<p>Однако, создать группу и получить возможность добавлять в нее пользователей это ползадачи. Нам нужно теперь настроить права этой группы: возможность авторизации в административной панели Joomla, доступ к компоненту Remository и запретить доступ к материалам сайта.<br />
Предоставление доступа в административную панель Joomla</p>
<p>Права групп пользователей прописаны статически в файле /includes/gacl.class.php. Для того, чтобы наша группа пользователей имела право на авторизацию в административной панели Joomla необходимо в этом файле, после строчки:<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;login&#8217;, &#8216;users&#8217;, &#8216;manager&#8217;, null, null );</p>
<p>добавить еще одну:<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;login&#8217;, &#8216;users&#8217;, &#8216;downloadsmanager&#8217;, null, null );</p>
<p>Так, теперь пользователи этой группы могут беспрепятственно входить в административную панель Joomla и фактически равны по правам пользователям группы Manager, однако пока не имеют доступа к компоненту Remository и могут редактировать материалы сайта.<br />
Предоставление доступа к компоненту Remository</p>
<p>Для того, чтобы пользователи группы DownloadsManager могли работать с компонентом Remository необходимо, чтобы во-первых пользователи этой группы видели меню Компоненты и, во-вторых, чтобы они имели доступ к самому компоненту.</p>
<p>Для начала, добавим в /includes/gacl.class.php права на компонент. Для этого найдем строчку:<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;manager&#8217;, &#8216;components&#8217;, &#8216;com_media&#8217; );</p>
<p>и добавим после нее:<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;downloadsmanager&#8217;, &#8216;components&#8217;, &#8216;com_remository&#8217; );</p>
<p>Все, пользователи группы DownloadsManager будут иметь доступ к компоненту Remository. Займемся теперь доступностью пункта меню Компоненты<br />
Настройка видимости пунктов меню административной панели Joomla</p>
<p>Главное меню административной панели Joomla выводится модулем mod_fullmenu, расположенном в папке /administrator/modules. Его мы и будем править, чтобы настроить видимость пунктов в зависимости от прав пользователя.</p>
<p>В файле /administrator/modules/mod_fullmenu.php находим строчку:<br />
$canManageUsers   = $acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;manage&#8217;, &#8216;users&#8217;, $usertype, &#8216;components&#8217;, &#8216;com_users&#8217; );<br />
и добавляем после нее:<br />
$canEditRemository   = $acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, $usertype, &#8216;components&#8217;, &#8216;com_remository&#8217; );<br />
$canEditContent = $acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, $usertype, &#8216;components&#8217;, &#8216;com_content&#8217; );<br />
$canEditMenus = $acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, $usertype, &#8216;components&#8217;, &#8216;com_menus&#8217; );</p>
<p>Затем чуть ниже заменяем<br />
if ($installComponents) {<br />
на<br />
if ($installComponents || $canEditRemository) {</p>
<p>Далее после строчки<br />
// Content Sub-Menu<br />
добавляем<br />
if ($canEditContent) {<br />
и чуть ниже, перед строчкой<br />
// Components Sub-Menu<br />
вставляем<br />
}</p>
<p>И теперь отключим отображение пункта меню Медиа-менеджер. Заменяем строчку:<br />
['&lt;img src="../includes/js/ThemeOffice/media.png" /&gt;','Media Manager','index2.php?option=com_media',null,'Manage Media Files'],<br />
на<br />
&lt;?php if ($canEditMenus) { ?&gt;<br />
['&lt;img src="../includes/js/ThemeOffice/media.png" /&gt;','Media Manager','index2.php?option=com_media',null,'Manage Media Files'],<br />
&lt;?php } ?&gt;</p>
<p>Чтобы скрыть лишние пункты меню сделаем еще несколько модификаций данного модуля. После строчки:<br />
$manageMenuMan     = $acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;manage&#8217;, &#8216;users&#8217;, $usertype, &#8216;components&#8217;, &#8216;com_menumanager&#8217; );</p>
<p>добавим:<br />
$manageMenu     = $acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;manage&#8217;, &#8216;users&#8217;, $usertype, &#8216;components&#8217;, &#8216;com_menus&#8217; );</p>
<p>Все, теперь пользователей группы DownloadsManager станет доступно меню Компоненты, в котором будет только один подпункт — Remository. Другие компоненты будут недоступны (за исключением com_content, com_menus и com_typedcontent).</p>
<p>Мы уже очень близки к поставленной цели: у нас есть новая группа, пользователи этой группы имеют доступ к административной панели Joomla и в ней могут работать с административной частью компонента Remostitory. Кроме того, пользователь уже не видит лишних пунктов меню (Медиа-менеджер, Меню, Материалы). Дело за малым: закрыть реальный доступ к редактированию меню и материалов сайта.<br />
Запрет группе доступа к редактированию меню и материалов<br />
Сначала немного расширим список прав групп, чтобы явно предоставить права на Меню и Материалы пользователям групп Manager, Administrator и Super administrator. Для этого в файле /includes/gacl.class.php после строчки:<br />
//array( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;manager&#8217;, &#8216;modules&#8217;, &#8216;all&#8217; );</p>
<p>добавим:<br />
// access to com_menus<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;super administrator&#8217;, &#8216;components&#8217;, &#8216;com_menus&#8217; );<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;administrator&#8217;, &#8216;components&#8217;, &#8216;com_menus&#8217; );<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;manager&#8217;, &#8216;components&#8217;, &#8216;com_menus&#8217; );</p>
<p>// access to com_content<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;super administrator&#8217;, &#8216;components&#8217;, &#8216;com_content&#8217; );<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;administrator&#8217;, &#8216;components&#8217;, &#8216;com_content&#8217; );<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;manager&#8217;, &#8216;components&#8217;, &#8216;com_content&#8217; );</p>
<p>// access to com_typecontent<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;super administrator&#8217;, &#8216;components&#8217;, &#8216;com_typedcontent&#8217; );<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;administrator&#8217;, &#8216;components&#8217;, &#8216;com_typedcontent&#8217; );<br />
$this-&gt;_mos_add_acl( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, &#8216;manager&#8217;, &#8216;components&#8217;, &#8216;com_typedcontent&#8217; );</p>
<p>Теперь, необходимо отредактировать файлы этих компонентов, чтобы запретить доступ к ним тем группам, у которых права явно не прописаны. Для этого, выполним следующие модификации:</p>
<p>Открываем файл /administrator/components/com_menus/admin.menus.php и сразу после строчки:<br />
defined( &#8216;_VALID_MOS&#8217; ) or die( &#8216;Restricted access&#8217; );</p>
<p>добавляем проверку прав:<br />
if (!($acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, $my-&gt;usertype, &#8216;components&#8217;, &#8216;all&#8217; )<br />
| $acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, $my-&gt;usertype, &#8216;components&#8217;, &#8216;com_menus&#8217; ))) {<br />
mosRedirect( &#8216;index2.php&#8217;, _NOT_AUTH );<br />
}</p>
<p>Открываем файл /administrator/components/com_content/admin.content.php и сразу после строчки:<br />
defined( &#8216;_VALID_MOS&#8217; ) or die( &#8216;Restricted access&#8217; );</p>
<p>добавляем проверку прав:<br />
if (!($acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, $my-&gt;usertype, &#8216;components&#8217;, &#8216;all&#8217; )<br />
| $acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, $my-&gt;usertype, &#8216;components&#8217;, &#8216;com_content&#8217; ))) {<br />
mosRedirect( &#8216;index2.php&#8217;, _NOT_AUTH );<br />
}</p>
<p>Открываем файл /administrator/components/com_typedcontent/admin.typedcontent.php и сразу после строчки:<br />
defined( &#8216;_VALID_MOS&#8217; ) or die( &#8216;Restricted access&#8217; );</p>
<p>добавляем проверку прав:<br />
if (!($acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, $my-&gt;usertype, &#8216;components&#8217;, &#8216;all&#8217; )<br />
| $acl-&gt;acl_check( &#8216;administration&#8217;, &#8216;edit&#8217;, &#8216;users&#8217;, $my-&gt;usertype, &#8216;components&#8217;, &#8216;com_typedcontent&#8217; ))) {<br />
mosRedirect( &#8216;index2.php&#8217;, _NOT_AUTH );<br />
}</p>
<p>Все! После вставки данных проверок, пользователи группы DownloadsManager гарантированно получат отказ при попытке редактирования материалов сайта из административной панели Joomla.<br />
Заключение</p>
<p>Давайте подведем итоги. В этой статье мы добавили новую группу пользователей Joomla, предоставили ей доступ к компоненту Remository и запретили изменять меню и материалы сайта. Таким образом мы получили группу менеджеров файлового архива, которые могут беспрепятственно заходить в административную панели и управлять файловым архивом, реализованным посредством компонента Remository.</p>
<p>В принципе осталась еще одна мелочь, которую я не описал в статье, бо это не интересно: скрыть лишние кнопки на главной странице панели управления Joomla. Если общественность потребует, я опишу это в следующей статье.</p>
]]></content:encoded>
			<wfw:commentRss>https://datso.net/stati/dobavlenie-novoy-gruppyi-polzovateley-joomla.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Интервью с boston (Joostina dev.team)</title>
		<link>https://datso.net/stati/intervyu-s-boston-joostina-dev-team.html</link>
		<comments>https://datso.net/stati/intervyu-s-boston-joostina-dev-team.html#comments</comments>
		<pubDate>Fri, 14 Jan 2011 13:40:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Статьи]]></category>

		<guid isPermaLink="false">https://datso.net/?p=26</guid>
		<description><![CDATA[Сегодня у нас в гостях Николай Кирш aka boston &#8211; разработчик небезызвестной CMS Joostina &#8211; CMS, вобравшей в себя всё самое лучшее, что было создано для линейки Joomla 1.0, а также ряд собственных нововведений, что вылилось в смелый самостоятельный проект, уже ставший популярным в русскоязычном сегменте Joomla. Николай, приветствую! Расскажи, как всё начиналось и как [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня у нас в гостях Николай Кирш aka boston &#8211; разработчик небезызвестной CMS Joostina &#8211; CMS, вобравшей в себя всё самое лучшее, что было создано для линейки Joomla 1.0, а также ряд собственных нововведений, что вылилось в смелый самостоятельный проект, уже ставший популярным в русскоязычном сегменте Joomla.<span id="more-26"></span></p>
<p>Николай, приветствую! Расскажи, как всё начиналось и как вылилось в проект Joostina?</p>
<p>Началось всё в 2005 году, именно тогда я впервые узнал о Joomla и получил приглашение вступить в ряды команды joom.ru. Тогда мы занимались локализацией свежей версии Joomla. Через пару лет локализация окрепла и у команды набралось большое число правок, делавших оригинальную Joomla более удобной. С другой стороны команда joomlaportal.ru помимо увеличения удобства еще и накопила большое число идей по доработке системы под русские реалии. Сам проект вырос из желания собрать все правки в одном месте и сделать систему более удобной, безопасной и быстрой.</p>
<p>Расскажи о команде Joostina и текущем положении дел.</p>
<p>Сейчас непосредственно внутри команды более 20 человек, правки ядра осуществляют 4 человека. Остальные тестируют промежуточные версии, собирают и адаптируют расширения. Joostina из увлечения одного человека стала интересным продуктом: поисковые системы выдают тысячи упоминаний системы на внешних сайтах. Внесённые в ядро правки позволяют создавать на Joostina разнотипные сайты, от небольших визиток и блогов, до высоконагруженных порталов с полумиллионным трафиком. Во главе проекта стоит Чернова Ирина, известная так же как ZaiSL или PbICb, я занимаюсь только сбором предложений и правкой ядра, в свободное время помогаю на форуме и немного адаптирую устаревшие расширения для новой версии системы.</p>
<p>Не секрет, что большая часть западных разработчиков отказалась от поддержки Joomla 1.0 и, следовательно, возникает резонный вопрос развития новых расширений под Joostina. Скажи, пожалуйста, какие ведутся в этом направлении работы и что предлагается конечному пользователю?</p>
<p>Отказались &#8211; ну и правильно. Первая версия Joomla собрала тысячи расширений, часть из которых мигрировала еще с CMS Mambo. Какие-то расширения были уникальными, но большинство &#8211; старые переделки и модификации, не все из которых отличались качеством и безопасностью. То, что многие разработчики отказались от поддержки расширений пошло нам на руку &#8211; многие из расширений не просто ушли в свободное плаванье, а стали полностью бесплатными. Например: прекрасное расширение JPromouter, которое раньше было платным, а сейчас уже прекрасно адаптировано для новой версии Joostina. Кроме того авторы этого расширения пошли на встречу нашему проекту, что не исключает взаимовыгодного сотрудничества и выигрыша конечных пользователей в том числе. Сейчас команда в полузакрытом режиме адаптирует лучшие расширения от Joomla, выбранные сами ми же пользователями, почти готов к запуску каталог расширений.</p>
<p>Другими словами, Joostina скорее платформа полузакрытого типа, предназначенная прежде всего для разработчиков, имеющих солидный багаж опыта для Joomla 1.0, чем для обычного пользователя? Если это не так, то каким образом планируете привлекать &laquo;свежую кровь&raquo;?</p>
<p>Как раз наоборот! Полузакрыта только та часть, в которой варится внутренняя каша; всё, что внутри команды проверяется и одобряется &#8211; сразу становится доступно любому желающему, как через анонс на joomlaforum.ru, так и через наш официальный блог &#8211; blog.joostina.ru. По уровню вхождения Joomla 1.0.x проще чем 1.5.х, а по скорости и безпроблемности принятия патчей и модификаций системы &#8211; Joostina вообще не обогнать. Joomla разрабатывается в закрытом кругу, Joostina же наоборот &#8211; с радостью принимает все пожелания пользователей. Свежая кровь &#8211; понятие растяжимое, мы просто делаем то, что нам нравится и если наша работа понравится пользователям, то кровь прильётся сама.</p>
<p>Как известно, общий недостаток Joomla обеих линеек &#8211; отсутствие реализации полноценного CCK и ACL, что являлось плюсом конкурирующей системы WordPress. Будет ли что-либо предложено пользователям Joostina в этом отношении?</p>
<p>Вот это на самом деле большой минус и Joomla и Joostina. К сожалению, на данном этапе все силы сконцентрированы на выпуск новой версии Joostina 1.3.0 и на создание расширений типа CCK и ACL &#8211; сил не остаётся. Но в таком важном и звучном вопросе мы не оставим своих пользователей &#8211; как появятся свежие силы или освободятся имеющиеся, они сразу будут брошены на разработку всех недостающих расширений.</p>
<p>Известная проблема Joomla 1.0 &#8211; табличный вывод контента. Несомненно, огромный плюс Joomla 1.5 заключается в том, что шаблонизация модулей и com_content реализована на уровне самого шаблона &#8211; можно &laquo;подкрасить&raquo; вывод без вмешательства в core составляющие движка. Однако исключение табличной доминанты приведёт к ещё большему отходу от совместимости с шаблонами и компонентами, заточенными под линейку 1.0. Планируется ли реализовать выбор способа отображения контента? (стандартный табличный, на div)</p>
<p>Старая беда с версткой и смешанным кодом. В 1.3.0 сделали первый, но очень большой шаг в этом направлении. Оформление com_content вынесено в каталог шаблона полностью, оформление других расширений &#8211; на очереди. Так же есть возможность индивидуально разверстывать на таблицах или слоях почти все модули. Так что тут стараемся не отставать от других систем.</p>
<p>Известно, что главный козырь Joostina &#8211; производительность. Высокая производительность платформы позволяет разворачивать крупные проекты с посещаемостью в несколько сотен тысяч посетителей в сутки (!), что, несомненно, может явиться определяющим фактором для разработчика при выборе платформы. Можно ли услышать некоторую статистику и если возможно, представить сравнительную таблицу производительности Joomla 1.5 и Joostina 1.2.x/1.3 с равным функционалом и количеством посещений?</p>
<p>Нет, таких сравнений не делал, а у сторонних разработчиков не встречал. Если увидишь где &#8211; дай знать, самому интересно. Скажу только, что в Joostina 1.3.0 добавили несколько интересных решений, которые позволят более тонко настраивать и кэширование и производительность сайта. По версии1.2.0 могу сказать, что зная конечную цель создаваемого сайта, можно с правильными настройками и минимальными правками получить до 800 000 трафика в сутки не теряя динамичности и не тратя на сервер много средств.</p>
<p>boston, как ты оцениваешь &laquo;геополитическую&raquo; расстановку в мире Joomla? Сейчас как грибы после дождя стали появлятся нехватающие CCK расширения для Joomla 1.5, публично выходит альфа-версия Joomla 1.6&#8230; Линейка 1.5 по сути, является переходным этапом к более совершенной CMS Joomla 1.6, но опять же возникает заминка с написанием расширений. Но поскольку Joomla 1.6 наберёт обороты, возникает серьезная угроза для Joostina в плане привлекательности платформы в целом. Какие можно назвать плюсы твоей системы по сравнению с многообещающей 1.6?</p>
<p>Joomla 1.6.x интересна и мне, как плане архитектуры, так и в плане запланированных решений. Но мне бы не хотелось сравнивать какая система лучше, или какая более привлекательна &#8211; они уже слишком разные. Joostina и сейчас и потом будет строиться на 3х ключах &#8211; производительности, удобстве, и гибкости. Joostina хоть и приобретает свойства многоязычности, но всё равно более ориентирована на русскоязычный рынок, который Joomla намного сложнее завоевать.</p>
<p>Николай, мне известно, что тобой ведутся работы в плане обеспечения совместимости с расширениями Joomla 1.5 в legacy режиме. Скажи, на что ориентироваться конечному пользователю в плане изучения документации? Означает ли, что с выходом Joomla 1.6, вы плавно перейдёте к смене идеологии проекта, ориентируясь на новую архитектуру, что выльется в переписывание документации и т.п?</p>
<p>Нет, это не так. Мы не ведём абсолютно никаких разработок для совместимости с Joomla 1.5.x и не планируем перейти на ядро Joomla 1.6.x. То, что сейчас уже сделано &#8211; слишком много и дорого как команде, так и мне лично. Выбрасывать все наработки или наращивать костыли для запуска расширений полностью другой версии Joomla &#8211; это неинтересно. Можно сделать прослойку и дописать тысячи функций, но мы не выиграем ничего &#8211; расширения хоть и запустятся, но не будут выполнять свои функции лучше, чем на оригинальной Joomla. Зато потеряем имеющуюся гибкость и производительность.</p>
<p>Говоря о Joomla, не могу, к сожалению, не отметить ужасное состояние Joomla Extensions Directory, где размещают всё подряд, превратив официальный каталог расширений в подобие мусорки (в этом плане заметно выделяется платформа Drupal, проводящая качественную оценку расширений). Я так понимаю, Joostina есть что сказать в этом плане? <img src='/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>О, да, полностью согласен по поводу текущего положения дел в JED. У нас подходит к завершению создание каталога расширений Joostina и в нём мы постарались избавиться и заранее запланировать удобную навигацию и разделение расширений. Но всё, конечно, узнаем после запуска &#8211; если каталог не понравится, и поступят предложения по его улучшению &#8211; сразу доработаем и учтём все пожелания.</p>
<p>Использование кодировки UTF8 в версии Joostina 1.3 наталкивает на мысль, что все расширения, которые планируется размещать на репозитории Joostina, будут заточены уже с учётом использования UTF8 в новой версии CMS?</p>
<p>Да, почти все расширения, которые будут описаны в каталоге, сразу адаптированы для версии 1.3.0. Для 1.2.0 подходят почти все расширения первой линейки Joomla. Мы не собираемся превращать каталог в свалку расширений разных версий и качества.</p>
<p>Не боишься, что Joostina может пойти путём греческой CMS Elxis (которая в своё время тоже вышла из Joomla), замкнувшись в рамках небольшой аудитории?</p>
<p>Нет, не боюсь. Не знаю, что именно случилось с Elxis, но для Joostina уже на пару лет вперёд распланированы и доработки, и методы завоевания доверия пользователей.</p>
<p>И ещё такой вопрос: почему везде, во всех файлах, удалены копирайты Joomla? Вроде бы это действие противоречит GPL лицензии&#8230;</p>
<p>Ну копирайтов Mambo в файлах Joomla тоже нету, всё собранно в отдельном файле &#8211; в Joostina полностью аналогично: Мы не отрекаемся и не присваиваем себе чужие разработки. В каждом файле есть сноска &laquo;Для получения информации об используемых расширениях и замечаний об авторском праве, смотрите файл help/copyright.php.&raquo;, а в самом файле copyright.php уже собраны все авторы, авторы модификаций, ссылки на проекты, даже на графические значки прописаны копирайты. Из файлов всё это вынесено только с целью сократить величину и уменьшить запутанность файлов.</p>
<p>Планируется ли аналог моста JFusion под Joostina? (возможность интеграции с рядом популярных скриптов форумов и eCommerce)</p>
<p>Да, планируется. Так же планируется возможность интеграции нескольких сайтов на самой Joostina, и в этом направлении уже достигнут определённый результат.</p>
<p>Николай, не секрет, что залог успеха любой платформы &#8211; это активность её пользователей и их вклад в развитие. Как оцениваешь сообщество Joostina в целом? Оно в большинстве случаев пассивно или пользователи активно делятся наблюдениями по замеченным ошибкам и т.д.?</p>
<p>Скажу так &#8211; активность волнообразна. В некоторые моменты кажется, что это всё вообще никому не надо, а в другие не успеваю отвечать на письма и принимать разработки. Сообщество мне нравится, иногда даже пятиминутное общение с новым человеком вносит очень существенные коррективы в систему. Общественность, как и в других вопросах надо заинтересовывать, тогда и отчетов о тестировании больше, и предложения конкретнее. Мне нравится команда, нравятся посетители и администрация joomlaforum, нравятся просто пользователи, которые говорят что им кажется неудобным в системе и предлагают свои идеи. Вклад пользователей в развитие Joostina &#8211; 80%, остальные 20% &#8211; это личные амбиции и идеи команды.</p>
<p>Работы много. Какая помощь более всего нужна вашей команде на данный момент? Может ли любой желающий внести свой вклад в общее дело и что нужно для этого сделать такому человеку?</p>
<p>Документация. Это наше самое слабое место. Система постоянно модифицируется, и старые описания Joomla 1.0.x уже не подходят, а создать новые &#8211; не получается. На wiki.joostina.ru есть небольшой список статей, которые составили бы базовое описание системы и принципов работы с ней, если бы несколько пользователей смогли просто и доступно описать эти моменты &#8211; было бы уже хорошо. Второй момент &#8211; сбор и адаптация расширений. Для новой системы нужны новые и главное качественные расширения, в блоге и на форуме есть темы по сбору расширений, туда может любой желающий написать те расширения, которые считает лучшими в своём классе. Потом эти расширения подвергнутся коренному просмотру и доработки для Joostina 1.3.0 и будут внесены в каталог. Работа тоже по своей сути не сложная, но выделив 15 минут на описание одного расширения, любой пользователь сможет сильно помочь как новичкам в выборе, так и самой Joostina в популяризации и расширяемости.</p>
<p>Говоря о java script фреймворке, следует отметить, что разработчики Joomla сделали выбор в пользу Mootools (хотя, на мой взгляд, JQuery является более интересным фреймворком). У Joostina есть своя библиотека &#8211; Fullajax. Расскажи о её преимуществах. Чем она лучше вышеназванных фреймворков?</p>
<p>У Joostina есть и Fullajax и Jquery. Fullajax это разработка уважаемого друга системы &#8211; Руслана Синицкого, чем лично горжусь. Библиотека позволяет более гибко и полно контролировать ajax &#8211; процессы в системе, делая это просто и гибко. Jquery &#8211; это библиотека более широкого действия, через неё и добавляются эффекты, и расширяются возможности Fullajax.</p>
<p>Как же быть разработчику сайтов? Цеплять Jquery или изучать документацию по FullAjax?</p>
<p>Тут зависит от задач, если нужна бесконечная расширяемость и разнообразные эффекты &#8211; стоит брать Jquery. Если надо без лишних вопросов встроить ajax в приложение &#8211; выбирайте Fullajax. Не склоняю к выбору одного конкретного решения, кому что удобнее, то и можно использовать.</p>
<p>boston, поделись, какие у тебя планы на текущий год и к чему стремишься в идеале? <img src='/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Есть ли шанс у Joostina со временем выбиться в &laquo;большие&raquo; CMS, заявив о себе на ряде конкурсов?</p>
<p>Из планов на этот год &#8211; завершить разработку версии 1.3.0, запустить обновлённую серию сайтов *.joostina.ru, заняться написанием документации и как раз заявлении о себе как &laquo;большой&raquo; CMS. Шансы есть, но раскрывать всех карт не буду &#8211; очень, очень и очень рано.</p>
<p>На официальном сайте Joostina есть информация о том, что вы призываете Joomla core team официально передать эстафету Joomla 1.0 в руки разработчиков Joostina, подарив таким образом, Joomla 1.0 вторую жизнь. Достигли ли в этом направлении каких-либо успехов? Планируется ли организовать массовое обращение пользователей и т.д.?</p>
<p>Да уж, достигли&#8230;. Получили от ворот поворот и замечание что Joomla зарегистрировали всё что с ними связано, начиная от слово Joomla и цветовой символики, заканчивая буквой J в любом названии: В их предложении было сказано, что нужно поддерживать именно Joomla 1.0.x.., а не развивать свою версию системы, даже если она и выигрывает по ряду показателей. В общем, мы к ним обратились и получили отказ.</p>
<p>Какие работы ведутся в области интеграции Joostina за пределы СНГ? Будет ли Joostina открыта для пользователей и разработчиков из др. концов планеты, не говорящих по-русски?</p>
<p>Да, 1.3.0 версия поддерживает возможность многоязычности интерфейса, но тут опять же всё зависит от самих пользователей &#8211; мы только пойдём на встречу, если найдутся люди желающие перевести Joostina на свой родной язык.</p>
<p>Интервью подошло к концу. Благодарю тебя, Николай, за потраченное время и интересную беседу. Последнее слово оставляю за тобой.:)</p>
<p>Спасибо тебе, отвечать было интересно, часть вопросов прямо в те области, которые обычно умалчиваются или раскрываются не полно. Надеюсь, интервью будет интересно не только нам с тобой, но и всем читателям. Благодарю за интересные вопросы, а устоявшимся и новым пользователям Joostina скажу: &laquo;Оставайтесь с нами, всё самое интересное &#8211; только начинается! <img src='/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> &raquo;.</p>
]]></content:encoded>
			<wfw:commentRss>https://datso.net/stati/intervyu-s-boston-joostina-dev-team.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Параметры XML файла модуля Joomla</title>
		<link>https://datso.net/stati/parametryi-xml-fayla-modulya-joomla.html</link>
		<comments>https://datso.net/stati/parametryi-xml-fayla-modulya-joomla.html#comments</comments>
		<pubDate>Fri, 14 Jan 2011 13:35:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Статьи]]></category>

		<guid isPermaLink="false">https://datso.net/?p=12</guid>
		<description><![CDATA[Как уже говорилось в статье «Изготовление модуля для CMS Joomla», все параметры, которые разработчик хочет использовать для настройки своего модуля, прописываются в XML файле. В данной статье речь как раз и пойдет о том, как именно прописываются эти параметры в XML файле и какие свойства они имеют. В XML файле модуля все необходимые параметры помещаются [...]]]></description>
			<content:encoded><![CDATA[<p>Как уже говорилось в статье «Изготовление модуля для CMS Joomla», все параметры, которые разработчик хочет использовать для настройки своего модуля, прописываются в XML файле. В данной статье речь как раз и пойдет о том, как именно прописываются эти параметры в XML файле и какие свойства они имеют.<span id="more-12"></span></p>
<p>В XML файле модуля все необходимые параметры помещаются между тегами &lt;params&gt;&lt;/params&gt;, в виде списка.<br />
Каждый параметр может быть прописан в XML файле различными способами. Все зависит от того, что это за параметр, как мы хотим использовать его в дальнейшем, в каком виде он должен быть представлен пользователю в административной части и т.д. Пример описания простейшего параметра:<br />
&lt;param name=&raquo;items&raquo; type=&raquo;text&raquo; default=&raquo;" label=&raquo;Количество объектов&raquo; description=&raquo;Количество показываемых объектов&raquo; /&gt;</p>
<p>В ряде случаев, параметр может быть прописан так, что его выходные данные смогут принять только какое-то одно фиксированное значение. Это делается с помощью «радио-кнопок» или выпадающих списков. Конструкция описания параметра при этом сильно видоизменяется, а сами фиксированные значения прописываются в тегах «option». Например:<br />
&lt;param name=&raquo;item_title&raquo; type=&raquo;list&raquo; default=&raquo;0&#8243; label=&raquo;Заголовок объекта&raquo; description=&raquo;Показывать или нет заголовок объекта&raquo;&gt;<br />
&lt;option value=&raquo;0&#8243;&gt;Нет&lt;/option&gt;<br />
&lt;option value=&raquo;1&#8243;&gt;Да&lt;/option&gt;<br />
&lt;/param&gt;</p>
<p>В данном примере, пользователь сможет задать параметру «item_title» только одно из двух, заранее определенных разработчиком модуля значений &#8211; 0 или 1. Свойству «default» в такой конструкции необходимо присвоить одно из опциональных значений «value». В приведенном примере default=&raquo;0&#8243;, значит при первом пуске административной части модуля, указатель «option» будет установлен в положение «Нет».</p>
<p>Каждый параметр модуля должен иметь обязательное свойство «name», которое служит идентификатором этого параметра. Значение этого свойства должно быть уникальным. Так же параметр должен быть дополнительно описан с помощью ряда свойств, таких как «type» &#8211; тип, «default» &#8211; значение параметра по умолчанию, «label» &#8211; наименование параметра и «description» &#8211; описание параметра.</p>
<p>Помимо основных свойств, параметр может содержать еще ряд дополнительных. Некоторые из них нужны лишь для изменения внешнего вида поля, в которое пользователь будет вводить данные, некоторые служат дополнением к типу параметра. Все свойства параметра актуальны лишь в административной части модуля. Для программного скрипта модуля они никокого значения не несут.</p>
<p>Пример использования дополнительных параметров в XML файле модуля:<br />
&lt;param name=&raquo;sometext&raquo; type=&raquo;textarea&raquo; cols=&raquo;80&#8243; rows=&raquo;5&#8243; default=&raquo;" label=&raquo;Текст&raquo; description=&raquo;Обычный текст или текст в формате HTML, который будет выводиться в блоке модуля.&raquo; /&gt;</p>
<p>Здесь свойства «cols» и «rows» определяют только ширину и высоту многострочного поля для ввода текста &#8211; «textarea» в административной части модуля.</p>
<p>Теперь давайте рассмотрим, какие свойства можно задавать параметрам в XML файле.<br />
Свойство «name» &#8211; имя параметра.</p>
<p>Как уже говорилось, свойство «name» это идентификатор параметра, с помощью которого мы можем получить его значение в процессе выполнения скрипта модуля.<br />
Имена для параметров модуля устанавливает разработчик в процессе его создания. Однако существуют еще зарезервированный CMS Joomla список имен параметров, которые служат для строго определенных целей. Это имена системных параметров.</p>
<p>moduleclass_sfx &#8211; это суффикс, который будет автоматически присоединен Joomla (Джумлой) ко всем CSS классам данного модуля, при его выводе на страницу сайта.</p>
<p>Пример использования параметра moduleclass_sfx в XML файле модуля:<br />
&lt;param name=&raquo;moduleclass_sfx&raquo; type=&raquo;text&raquo; default=&raquo;" label=&raquo;CSS-cуффикс класса модуля&raquo; description=&raquo;Суффикс, который будет использован в описании класса (table.moduletable) таблицы стилей (CSS) модуля. Это позволяет использовать индивидуальный стиль модуля.&raquo; /&gt;</p>
<p>сache &#8211; позволяет принудительно включить/отключить кэширование модуля.</p>
<p>Пример использования параметра cache в XML файле модуля:<br />
&lt;param name=&raquo;cache&raquo; type=&raquo;radio&raquo; default=&raquo;0&#8243; label=&raquo;Разрешить кэширование&raquo; description=&raquo;Выберите, кэшировать ли содержимое этого модуля&raquo;&gt;<br />
&lt;option value=&raquo;0&#8243;&gt;Нет&lt;/option&gt;<br />
&lt;option value=&raquo;1&#8243;&gt;Да&lt;/option&gt;<br />
&lt;/param&gt;</p>
]]></content:encoded>
			<wfw:commentRss>https://datso.net/stati/parametryi-xml-fayla-modulya-joomla.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Публикация контента. Статическое содержимое или Объекты содержимого</title>
		<link>https://datso.net/stati/publikatsiya-kontenta-staticheskoe-soderzhimoe-ili-obektyi-soderzhimogo.html</link>
		<comments>https://datso.net/stati/publikatsiya-kontenta-staticheskoe-soderzhimoe-ili-obektyi-soderzhimogo.html#comments</comments>
		<pubDate>Fri, 14 Jan 2011 13:35:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Статьи]]></category>

		<guid isPermaLink="false">https://datso.net/?p=10</guid>
		<description><![CDATA[Вебмастера начинающие осваивать CMS Joomla сталкиваются с дилеммой – как правильно публиковать статьи на сайте – как Статическое содержимое или как Объекты содержимого категории какого-либо раздела. Да и вообще, нужно ли создавать разделы, категории? Не проще ли весь контент создавать как Статическое содержимое и не морочить себе голову? Сразу хочу оговориться, что рассматриваться будет CMS [...]]]></description>
			<content:encoded><![CDATA[<p>Вебмастера начинающие осваивать CMS Joomla сталкиваются с дилеммой – как правильно публиковать статьи на сайте – как Статическое содержимое или как Объекты содержимого категории какого-либо раздела. Да и вообще, нужно ли создавать разделы, категории? Не проще ли весь контент создавать как Статическое содержимое и не морочить себе голову?<span id="more-10"></span><br />
Сразу хочу оговориться, что рассматриваться будет CMS Joomla версии 1.0.х в базовом варианте.</p>
<p>Чтобы ответить на эти вопросы, вебмастер должен четко представлять, что он хочет получить от сайта и каким он видит себе свой сайт. Тут стоит немного подумать и, в свою очередь, ответить для себя на несколько вопросов.<br />
Вопрос № 1. Нужно ли будет отображать статью на главной странице?</p>
<p>Дело в том, что разработчики Joomla решили для себя, что статический контент на главной странице отображаться не должен, поэтому если Вы создадите статью как Статическое содержимое, то на главной странице разместить Вы ее не сможете. Вот так решили разработчики CMS Joomla, и мы вынуждены следовать их правилам.<br />
Однако, если Вы все же очень захотите разместить статичную статью на главной странице, это можно реализовать с помощью дополнительных модулей или компонентов, плюс к этому может понадобиться немного подправить шаблон сайта.<br />
С помощью базовых средств CMS Joomla сделать этого, к сожалению, невозможно.</p>
<p>Если такие варианты не приемлемы, а статья обязана быть на главной странице, тогда придется создавать раздел и категорию, а уже в категории создать Объект содержимого.<br />
Вопрос № 2. Какое количество статей будет размещено на сайте?</p>
<p>При малом количестве статей имеет смысл создать их все как Статическое содержимое. Однако, как говорилось ранее, если хотя бы одна статья должна располагаться на главной странице, то для нее придется создать раздел и категорию.</p>
<p>Если статей много, то правильным решением будет объединить их по смысловому содержанию и рассортировать по разделам и категориям. При этом, даже если часть из них никак не связана друг с другом, все равно имеет смысл объединить их в один раздел или категорию.</p>
<p>Создавать большое количество статей как Статичное содержимое не следует, потому что переход к такой статье возможен только по прямой ссылке и как следствие на каждую страницу со Статичным содержимым Вам придется создавать отдельный пункт меню или вычислять, а затем вручную формировать и размещать такую ссылку в тексте другой статьи.</p>
<p>Если же объединить такие статьи в один раздел или категорию, например, «Разные статьи», то ссылки-переходы на страницы этого раздела будут формироваться CMS Joomla автоматически. Что это за переходы? Это вкратце: ссылки «Далее…», ссылки со страницы сформированной как «Таблица &#8211; Содержимое категории», постраничная навигация «Пред.   След.».<br />
Вопрос № 3. Будет ли задействован модуль «Разделы»?</p>
<p>Само название говорит, что модуль будет отображать только разделы сайта. Никакого Статичного содержимого он отображать не будет.<br />
Вопрос № 4. Будет ли задействован модуль «Краткие новости»?</p>
<p>Этот модуль может выводить в случайном порядке текст одной статьи из определенной категории. Соответственно ни о каком выводе статей Статичного содержимого не может быть и речи.</p>
<p>Ответив для себя на все эти вопросы и воспользовавшись моими комментариями, Вы теперь сможете более четко определиться, какой именно способ размещения контента на своем сайте Вам необходимо выбрать.</p>
<p>Чтобы было еще более понятно, давайте разберем небольшой пример.</p>
]]></content:encoded>
			<wfw:commentRss>https://datso.net/stati/publikatsiya-kontenta-staticheskoe-soderzhimoe-ili-obektyi-soderzhimogo.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEO оптимизация сайтов на CMS Joomla</title>
		<link>https://datso.net/stati/seo-optimizatsiya-saytov-na-cms-joomla.html</link>
		<comments>https://datso.net/stati/seo-optimizatsiya-saytov-na-cms-joomla.html#comments</comments>
		<pubDate>Fri, 14 Jan 2011 13:34:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Статьи]]></category>

		<guid isPermaLink="false">https://datso.net/?p=8</guid>
		<description><![CDATA[При разработке сайтов, которые работают под управлением CMS Joomla, как впрочем, и под любой другой системой управления, одним из правил грамотного создания сайта является его оптимизация под поисковые системы или SEO (Search Engine Optimization &#8211; в переводе &#171;оптимизация под поисковые системы&#187;). Это правило, конечно, можно и не соблюдать, но ведь мы хотим, чтобы наш сайт [...]]]></description>
			<content:encoded><![CDATA[<p>При разработке сайтов, которые работают под управлением CMS Joomla, как впрочем, и под любой другой системой управления, одним из правил грамотного создания сайта является его оптимизация под поисковые системы или SEO (Search Engine Optimization &#8211; в переводе &laquo;оптимизация под поисковые системы&raquo;). Это правило, конечно, можно и не соблюдать, но ведь мы хотим, чтобы наш сайт как можно быстрее попал в поисковую выдачу и его увидели как можно больше людей, значит оптимизировать все же придется.<span id="more-8"></span><br />
Сразу оговорюсь, что будут рассматриваться только базовые возможности Joomla v1.0.x без использования каких-либо дополнительных компонентов. Таких компонентов, кстати, очень много, но сделать грамотную оптимизацию сайта на можно и без них. Вдобавок все эти компоненты довольно сильно грузят MySQL сервер, а это в ряде случаев нежелательно.</p>
<p>Итак, приступим.<br />
Настройка глобальной конфигурации сайта под CMS Joomla.</p>
<p>Перед началом оптимизации сайта нам необходимо подобрать список ключевых слов.</p>
<p>Как это делается, я здесь расписывать не буду. В интернете на эту тему уже столько написано, что хватит на целую энциклопедию, поэтому предположим, что у нас уже есть этот список и мы имеем, либо готовый сайт который надо оптимизировать, либо у нас есть подборка статей готовых к размещению на сайте.</p>
<p>Прописываем тег «title».</p>
<p>Заходим в глобальную конфигурацию и переходим на закладку «Сайт».</p>
<p>Здесь в поле «Название сайта» прописываем название нашего сайта. Какое название будет у Вас, это решать Вам. В приведенном примере, это «Joomla для всех».</p>
<p>Текст, прописанный в этом поле, будет присутствовать в каждой странице сайта Joomla в теге «title».</p>
<p>При переходе на различные страницы сайта к этому тексту будет автоматически добавлена конструкция « &#8211; » (пробел тире пробел), поэтому никаких пробелов и знаков препинания в конце «Название сайта» ставить не надо.</p>
<p>После этой конструкции, CMS Joomla будет добавлять:<br />
Если страница формируется компонентом &#8211; название пункта меню, ведущее к этому компоненту. Например, к компоненту поиска по сайту адресуется пункт меню «Поиск», тег «title» для этой страницы будет выглядеть: «Joomla для всех – Поиск». И так далее.<br />
Не забываем о базовом компоненте com_content. Он формирует страницы типа «Блог &#8211; Содержимое категории», «Таблица &#8211; Содержимое раздела» и тому подобное. Для него справедливо все описанное выше.<br />
Примечание. Еще раз повторю – сейчас рассматривается работа базовых компонентов. При работе компонентов сторонних разработчиков, формирование тега «title», это забота и обязанность самого разработчика, и содержание этого тега будет зависеть только от его грамотности и знания работы CMS Joomla, то есть профессионализма.<br />
Если на страницу выводится текст «Статичное содержимое» или «Объект содержимого», &#8211; полное название статьи.</p>
<p>С тегом «title» разобрались, идем дальше.<br />
Прописываем метатеги.</p>
<p>Метатег «description».</p>
<p>Кликаем на закладку «Метаданные».</p>
<p>Текст, введенный в первое поле «Описание сайта, которое индексируется поисковиками» будет выводиться в каждой странице сайта Jooma в метатеге «description».</p>
<p>При этом, если на страницу будут выводиться, либо полный текст статьи («Статичное содержимое» или «Объект содержимого»), либо «Вводный Текст» этих статей (компонент главной страницы и все страницы формируемые как «Блог»), в метатег «description» будет добавляться текст из поля «Описание (Description)» (об этом поле далее) каждой статьи, через запятую.</p>
<p>В остальных случаях метатеге «description» будет содержать только текст, прописанный в первом поле этой закладки. Это конечно не есть хорошо, но ничего не поделаешь – так сделали разработчики CMS Joomla.</p>
<p>В конце текста этого поля никаких пробелов ни знаков препинания ставить не надо.</p>
<p>Метатег «keywords».</p>
<p>Содержание второго текстового поля «Ключевые слова сайта» будет выводиться в каждой странице сайта Joomla в метатеге «keywords». Это поле должно содержать одно-два ключевых слова или фразы, которые однозначно будут присутствовать на каждой странице Вашего сайта.</p>
<p>Чтобы правильно прописать ключевые слова в этом поле, нужно хотя бы бегло прочитать все статьи и примерно прикинуть какая информация будет выводиться в модулях. Исходя их этого, выбрать не более одного-двух ключевых слов или фраз и прописать их в этом поле через запятую. Опять-таки в конце текста никаких пробелов ни знаков препинания не ставим.</p>
<p>Подобно тому, как формируется для каждой страницы метатег «description», формируется и метатег «keywords». То есть, если на страницу будут выводиться, либо полные тексты статей, либо вводный текст этих статей к нему после запятой будет добавляться содержимое поля «Ключевые слова (Keywords)» из каждой статьи (об этом далее).</p>
<p>В принципе, о ключевых словах этого поля можно сказать, что это должны быть слова поисковых запросов, по которым собственно и производится оптимизация сайта CMS Joomla, то есть они обязательно должны присутствовать на каждой странице сайта! Как это сделать на практически пустой странице «Поиск»? Подумайте, пофантазируйте. Сделайте, например, модуль опросов с включением таких слов или опубликуйте модуль вывода кратких новостей, а в них добавьте ключевые слова и т.д.</p>
<p>Дополнительные настройки.</p>
<p>Если в поле «Показывать мета-тег title» установить «Да», то CMS Jomla будет формировать метатег «title» на страницах, которые выводят тексты статей «Статичное содержимое» или «Объект содержимого». Причем метатег title будет содержать только тот текст, который прописан в поле «Описание (Description)» (об этом далее) для этой статьи. Этим мета-тег «title» сайта на CMS Joomla отличается от тега «title».</p>
<p>Истинного назначения именно метатега «title» я не знаю, поэтому нужно ли ставить здесь «Да» или нет, точного ответа я не дам. Возможно, этот метатег просто дублирует тег «title» и сам по себе особого значения не имеет.</p>
<p>По моему опыту, основные поисковые системы при индексации сайта используют значение именно тега «title», но лично я всегда указываю в данном поле «Да» &#8211; на всякий случай <img src='/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Если в поле «Показывать мета-тег author:» установить «Да», то CMS Jomla будет формировать метатег «author» на страницах, которые выводят тексты статей «Статичное содержимое» или «Объект содержимого».</p>
<p>Значение этого метатега берется из поля «Автор» выводимой статьи. Причем наличие этого метатега не зависит ни от глобальных, ни от локальных настроек «Показать/Скрыть Имена авторов».</p>
<p>Я посоветую в этом поле указать «Да», так как некоторые поисковые системы учитывают этот тег.</p>
<p>Настройки ядра CMS Joomla.</p>
<p>Теперь переходим на закладку «SEO». Здесь в поле «Дружественные для поисковых систем URL-ы (SEF)» ставим «Да». Такая установка преобразует ссылки на страницы Вашего сайта. Например, вот такая ссылка</p>
<p>http://joomla4all.ru/index.php?option=com_content&amp;task=view&amp;id=27&amp;Itemid=1,</p>
<p>теперь будет иметь вид:</p>
<p>http://joomla4all. ru/content/view/28/1/<br />
Не забудьте после этого переименовать файл «htaccess.txt», расположенный в корневой директории Вашего сайта в файл «.htaccess».</p>
<p>В поле «Динамические заголовки страниц (теги title)» ставим «Да». Если этого не сделать, то тег «title» будет содержать только то, что прописано в поле «Название сайта» (об этом поле рассказывалось ранее), а это неприемлемо.</p>
<p>Ну вот, с настройками глобальной конфигурации мы разобрались, сохраняем наши изменения и идем дальше.</p>
]]></content:encoded>
			<wfw:commentRss>https://datso.net/stati/seo-optimizatsiya-saytov-na-cms-joomla.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
