Новости Joomla на русском
Главная Новости Форум Статьи и обзоры Вопросы и Ответы
Joomla! по-русски

Выпущен очередной релиз безопасности — Joomla 1.5.15 [Wojmamni ama mamni]. В данной версии исправлено 60 ошибок, обнаруженных при тестировании Joomla 1.5.x (среди них две, связанные с безопасностью, но некритические). Разработчики настоятельно рекомендуют обновиться до данной версии.

 
вторник, 09 февраля 2010 Главная arrow Статьи и обзоры arrow Дополнительный параметр к материалу в Joomla 1.5
Категории
Статьи
Обзоры
Модификации и хаки
Joomla!™ CMS
Russian Joomla Translation Team
Безопасность
Популярные статьи

Замечание

Joomla!™ является торговой маркой компании Open Source Matters inc в США и др. странах. Название Joomla! и его вариации, такие как J, Joom и т.д., используются в рамках ограниченной лицензии, определённой компанией Open Source Matters. Проект Joomlaportal не относится к компании Open Source Matters или проекту Joomla! Точки зрения представленные на данном сайте не являются официальными точками зрения Joomla Project или Open Source Matters.

Торговая марка Joomla® и логотип используются в рамках ограниченной лицензии, предоставленной Open Source Matters.

Дополнительный параметр к материалу в Joomla 1.5

10.03.2009 | SmokerMan | Забобрить эту страницу! | del.icio.us
Статьи и обзоры / Модификации и хаки

Иногда, для автоматизации, необходимо к материалу добавить еще параметр, в зависимости от которого будет выводиться то что Вам требуется. В этой статье я расскажу как это можно реализовать.

Итак при создании нового материала в административной панели справа есть колонка "Параметры - Статьи", "Параметры - Расширенные" и "Мета-данные" . В зависимости от этих параметров можно отдельно настроить вывод для каждой статьи. За вывод этих параметров отвечает файл \administrator\components\com_content\models\article.xml. Рассмотрим его более подробнее.

<params addpath="/administrator/components/com_content/elements">

В этой строке добавляется путь к элементам, которые использует параметр. Более наглядней это будет продемонстрировано при разборе следующей строки.

<param name="created_by" type="author" default="" label="Author" description="DETAILAUTHOR" />

Рассмотрим эту строчку подробнее:

  • name - имя параметра.
  • type - вот в этой строке как раз и подключается елемент (type="author") В данном случае файл administrator\components\com_content\elements\author.php, который возвращает список всех пользователей. И при создании или редактировании материала Вы можете поставить автором статьи любого зарегестрированного пользователя. Подробнее о стандартных типах (type), используемых в Joomla, Вы можете почитать Joomla standard parameter_types.
  • default - значение параметра по умолчанию.
  • label - название параметра, собственно то что Вы будете видеть в административной панели Joomla.
  • description - описание, текст который будет выводиться при наведении на параметр.

Параметры можно так же группировать, подробнее об этом напишу чуть позже.

Итак создадим дополнительный параметр и поместим его в группу advanced, перед заголовком:

<params group="advanced">
  <param name="you_param" type="list" default="" label="Ваш параметр" description="Описание Вашего параметра">
    <option value="0">Hide</option>
    <option value="1">Show</option>
  </param>
  <param name="show_title" type="list" default="" label="Show Title" description="Show/Hide the items title">
    <option value="">Use Global</option>
    <option value="0">No</option>
    <option value="1">Yes</option>
  </param>
...

В данном случае я использовал type="list", Вы же можете выбрать тип который Вам подходит. Итак, пол дела сделано, теперь осталось добавить в шаблон вывода обработку этого параметра.

Открываем файл шаблона вывода материала components\com_content\views\article\tmpl\default.php и добавляем в него (я выбрал начало):

<?php // no direct access
defined('_JEXEC') or die('Restricted access');
 
$canEdit  = ($this->user->authorize('com_content', 'edit', 'content', 'all') || $this->user->authorize('com_content', 'edit', 'content', 'own'));
?>
<?php if ($this->params->get('you_param')) : ?> <!--Проверяем включен ли параметр-->
    <?php echo  JText::_('Ваш параметр включен в этом материале'); ?> <!--Выводим что нам надо-->
<?php endif; ?> <!--Конец проверки-->

Выводить в принципе можно все что угодно - текст, картинку, JavaScript и т.д. и т.п.

Если Вам нужно вывести значение данного параметра, допустим Вы использовали type="text", то в шаблон вывода добавляем

<?php if ($this->params->get('you_param') !== '') : ?> <!--Проверяем не является ли параметр пустым-->
    <?php echo  JText::_($this->params->get('you_param')); ?> <!--Выводим значение параметра-->
<?php endif; ?> <!--Конец проверки-->

Вот, в принципе, пока и все. Позже напишу про группы и как добавлять параметры в отдельное поле таблицы.

 
< Пред.   След. >
Загрузить Joomla!™ CMS
Демо версия

Joomla! 1.5.14 (FrontEnd)
Joomla! 1.5.14 (BackEnd)
(Demo/Demo)