Главная » Модули DLE » Модуль News2Cat by dj-avtosh

Модуль News2Cat by dj-avtosh

  • Модули DLE

Модуль News2Cat by dj-avtosh


Модуль весьма специфический, и нужен будет не всем.
Писался он специально для моего проекта. С автором решили выкинуть его в паблик.
Модуль помогаем выводить информер новостей из определённой категории.

Немного прелюдии, что бы было понятнее для чего модуль делался.
Есть СДЛ, на главной которого публикуется контент для смартфонов.
Появилась необходимость сделать раздел с новостями. Но публиковать их на главной было нелогично, смешивать контент с новостями.
Единственной идеей было, организовать информер который бы выводил в небольшом блоке на главной (и на всех страницах сайта) эти самые новости (см. скрин).

Что делает модуль:
Выводит в указанном месте "превью" кратких новостей из определённой категории (см. скрин).
Вывод новостей кэшируется.

Умеет:
- выводить уменьшенную картинку из краткой (новая картинка не создается, берется картинка из краткой нвоости и ей присваивается принудительный размер, который настраивается в файле модуля).
- выводит название новости (в название вбивается ссылка на полную новость).
- выводит описание новости взятое из краткой новости. Описание обрезается достигнув предела символов (предел настраивается в файле модуля), после чего ставится "..." а за ними идет ссылка "Подробнее", которая также ведет на полную новость.

Установка:
На всякий случай метод установки также помещен в архив.

1. Файл модуля news2cat.php закинуть в engine/modules/

2. Затем в engine/init.php
Находим:
?>


Выше вставляем:
require_once ENGINE_DIR.'/modules/news2cat.php';


3. в index.php

Находим:
$tpl->load_template('main.tpl');



Ниже вставляем:
$tpl->set ( '{newsp}',$newsp);



4. Далее в main.tpl в нужном месте добавляем тег:
{newsp}



Всё.

Настройки модуля:
Все настройки призводятся непосредственно в самом файле модуля news2cat.php

Ищем:
$db->query("SELECT id, title, date, alt_name, autor, short_story, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND category = '45'  ORDER BY date DESC LIMIT 0,3");



Выбираем нужную категорию.
AND category = '45'


Цыфра 45, отвечает за номер категории из которой будут тащится новости. Меняем на свой.

Кол-во новостей в информере.
ORDER BY date DESC LIMIT 0,3


Цифра 3, это кол-во новостей в информере. Как на скрине, так и в файле, по умолчанию стоит вывод 3-х новостей. Меняем на свое.

Макс. размер описания (в символах).
Находим:
$text = substr ($row['short_story'], 0, 350).


Цыфра 350, это максимум символов в названии и описании, после чего идет обрезка и добавляется "...".


Далее вывод картинок.
Ищем:
$text = preg_replace ("'<img src=(.*?)>'si", "<div align='left'><img src=$1 width=65 height=49> $title</div>", $text);



Размер картинки задается здесь:
width=65 height=49


Соответственно ширина и высота уменьшеной картинки. Меняем на свое.

По настройкам вроде бы всё.

---
Замечу, что также можно организовать 2 и более информеров.
Например (пример взят с потолка).
Вы организовали на сайте вывод новостей.
Но захотели сделать такой же вывод и, допустим, обзоров различной техники.

Делаем копию файла модуля news2cat.php и преименовываем, например в review2cat.php.
Открываем review2cat.php и заменяем все слова:
newsp


на
reviewsp


Закидываем review2cat.php в engine/modules/.
И далее по инструкции, заменяя название путей и переменные.
Т.е.
В engine/init.php
Находим:
?>


Выше вставляем:
require_once ENGINE_DIR.'/modules/review2cat.php';



В index.php
Находим:
$tpl->load_template('main.tpl');


Ниже вставляем:
$tpl->set ( '{reviewsp}',$reviewsp);



И в main.tpl в нужном месте добавляем тег:
{reviewsp}



И так далее сколько угодно раз :)
---

Модуль тестировался на DLE 7.0.
На 2-х разных шаблонах.
Корректно работает в последних браузерах Opera, IE, Chrome, Firefox.
Демо: на скрине.

Идея extezy, вся разработка dj-avtosh (за что ему большое спасибо, толковый парень).


Автор: dj-avtosh
идея extezy

Стоимость: Бесплатно

Скачать: news2cat.zip [1,38 Kb]

Ключевые слова по теме Модуль News2Cat by dj-avtosh: dj-avtosh, модуль News2Cat, модуль DLE