Добавляем картинку превью для статей в Joomla 1.7

1 звезда2 звезда3 звезда4 звезда5 звезда (Ещё нет рейтинга)
Loading ... Loading ...

Хотите оперативно получать новые уроки и статьи блога LAWANS.RU. Просто введите ВАШ e-mail на форме справа >>>

Привет, Всем!

Есть такая фишка в Joomla – это добавление дополнительных полей стандартным статьям в Joomla 1.7. Вот например когда выводим статьи из категории в виде блога не хватает мелкой картинки рядом с заголовком, как на рисунке ниже.

картинка превью для статей

Можно конечно добавить картинку в контент и прописать стиль выравнивания float:left. Однако при переходе на материал придётся убирать вступительный текст, чтобы картинка не отображалась. Не всегда это удобно. Мы сделаем универсальный вариант, как например в WordPress (там для материала можно выбрать вступительную картинку).

Итак, давайте сделаем, чтобы в даминке было поле добавления картинки превью для статьи. Для этого заходим в файл :

\administrator\components\com_content\models\forms\article.xml – это по сути файл, отвечающий за настройки статьи в админке.

Находим строки вида:

<field name=’show_title’ type=’list’…     </field>

и перед ними ставим наш код

<field name="images" type="imagelist" default="" label="Select an image" description="" directory="/images/sampledata/fruitshop" exclude="" stripext="" />

В Joomla есть так называемые стандартные типы полей формы. Их довольно много – это и тектсовые поля, выпадающие списки, даты и многое другое. Надо будет запостить по как нибудь по этой теме отдельную статью. Нам нужен будет тип imagelist (что-то типа списка картинок).

name имя параметра. Один из главных параметров. Он нам необходим будет для вывода в дальнейшем.

directory – здесь указываем путь на фтп откуда брать картинки. Желательно указать папку которая будет доступна через Медиа менеджер, чтобы туда их предварительно закачать (можно конечно и  через фтп залить, кому как удобнее).Путь указывается от корневой директории сайта.

label  – название (метка) перед полем.

Есть ещё такой параметр как exclude – это типа фильтра файлов для списка. Допустим если нам не нужны изображения с расширением .gif, то запишем это так:
exclude=’\.gif’

или если несколько видов расширений

exclude=’\.png$|\.gif$|\.jpg$|\.bmp$|\.ico$’

Вот что у меня стало отображаться в админке в настройках статьи:

выпадающий список картинок

 

Как видим появилось новое поле с выпадающим списком картинок. Теперь нам осталось вывести данный параметр в шаблоне. Так как мы выводим список материалов в виде блога, то и изменения нам надо сделать в шаблоне блога. Заходим в файл:

\components\com_content\views\category\tmpl\blog_item.php

Пропишем для вывода параметров в начале шаблона после строк:

$params = &$this->item->params;

Следующее:

$articleParams = new JRegistry;
$articleParams->loadString($this->item->attribs);

И далее в шаблоне где надо вывести картинку:

<?php if ($articleParams->get("images")) : ?>
<img src="/images/sampledata/fruitshop/<?php echo $articleParams->get(‘images’);?>" width="100px"/>
<?php endif; ?>

Т.е. если параметр не пустой, то выводим картинку.

Замечу, что таким образом можно вывести любой дополнительный параметр в нужном месте шаблона.

Видите, мы выводим параметр nameimages. Это как раз тот name в параметрах админки. Мы можем задать его и другим именем (главное латинскими и без цифр).

Вот собственно и всё! Позже обязательно напишу про типы полей. Жду ваших комментариев и вопросов!


У ВАС ведь есть ТЕЛЕФОН? Или mp3-player? А может даже планшет, ноутбук или игровая консоль!
Хочется, чтобы он был необычным и уникальным?
Заходите к нам – мы поможем.

  
  
{lang: 'ru'}

Похожие статьи

21 thoughts on “Добавляем картинку превью для статей в Joomla 1.7

    • да это минус этого метода, что после обновления всё слететь может если в обновлении данные файлы обновятся (возможно и нет)..но файл настроек article.xml сделать несложно(навряд ли он в обновлениях меняется) а шаблон вывода для блога например переопределить можно в своём шаблоне. По идее после обновления может слететь максимум только article.xml

  1. Добрый день! Добавил код в article.xml и никаких изменений в админке :cry: Подскажите, в чем проблема?
    Joomla 1.7

    • ну как глобальный вариант обновить до версии 2.5 джумлу (см. http://lawans.ru/obnovlenie-joomla-2-5)
      а так сказать не могу (проверьте может ошибка где то чего то пропустили в xml) т.к. не вижу кода – если сайт в инете могу глянуть ..пишите в контакты если что.

  2. Все сделал по инструкции. Картинка выбирается, но в блоге категорий не выводится…
    В чем может быть проблема?

  3. Обновления и перепроверка написанного не помогла.
    Возможно есть ошибка в материале? Или что-нибудь еще?

    • в джумле 2.5 если вы обновили, функция превью картинки уже встроена в админку, так что нет необходимости влезать в код.

      • У меня с самого начала стояла Joomla 2.5 – инструкция не сработала.

        admin: в джумле 2.5 если вы обновили, функция превью картинки уже встроена в админку, так что нет необходимости влезать в код.

        Облазил все настройки отображения материала, не нашел где добавилась функция превью….

  4. Добрый день и с наступающим всех праздником!
    У меня джумла 2.5.4. Хочу сделать, чтобы в модуле статей на главной рядом с названием статей выводилась бы слева маленькая картинка-превью. Прочитал выше, что в джумле 2.5 эта функция уже реализована, но не могу что-то найти её. Подскажи, если не сложно, пожалуйста!

  5. Нашёл с горем попалам. Это всё включается в опциях редактора материалов, для тех, кто не в курсе ещё.

  6. Здравствуйте. Спасибо за статью, как раз то, что искал!

    Только у меня проблема небольшая: у меня сейчас joomla 2.5.8 и я захожу сюда: \components\com_content\views – а дальше нету папки “category” .

    Подскажите пожалуйста, куда вставлять код для того, что бы картинка выводилась в ЗАГОЛОВКЕ материала справа ?

    Мой сайт: team-bet.ru
    Мне нужно , что бы картинка выводилась вот так:
    http://s60.radikal.ru/i169/1302/ac/b8070b54ae42.jpg

    В какую папку нужно зайти и како

      • Александр, в joomla 2.5 нет необходимости делать правки в файлах. Эта функция встроена уже и подключается в настройках материала. Смотри ответы выше.

        • Понял. Спасибо.

          Вот я добавил нужную мне иконку:
          Проблема в том, что в разделе “Новости” она отображается:

          Но мне нужно, что бы иконки отображались на главной странице сайта (team-bet.ru) и именно в ЗАГОЛОВКЕ материала справа.
          Вот как надо:

          Есть какие-то идеи?
          Как мне это сделать ? Именно в заголовок материала справа….

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>