• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Модуль News2Cat

Статус
В этой теме нельзя размещать новые ответы.

Walkman

Мой дом здесь!
Регистрация
17 Авг 2007
Сообщения
334
Реакции
217
news2cat.gif
От автора:
Модуль весьма спецефический, и нужен будет не всем.
Писался он специально для моего проекта. С автором решили выкинуть его в паблик.
Описание: Есть СДЛ, на главной которого публикуется контент для смартфонов.
Появилась необходимость сделать раздел с новостями. Но публиковать их на главной было нелогично, смешивать контент с новостями.
Единственной идеей было, организовать информер который бы выводил в небольшом блоке на главной (и на всех страницах сайта) эти самые новости (см. скрин).

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

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

Тестировался на: DLE 7.0
Браузеры: Opera, IE, Chrome, Firefox
Идея: extezy
Автор: dj-avtosh



Незабывайте после изменения настроек очищать кеш на сайте ;)
 
Модуль может показывать новости только с определеной категории? если да то где выбераь категории???
 
мне вот интересно, увеличивается ли нагрузка от скрипта и на сколько, если происходит поиск и замена вывода картинок и текста из новостей?

PHP:
$text = preg_replace ("'\<img src=(.*?)\>'si", "<div align='left'><img src=$1 width=65 height=49> $title</div>", $text);
$text = preg_replace ("'\<img align=(.*?) src=(.*?)\>'si", "<div class='brd' align='left'><a href=$2><img src=$2 width=150 height=150></a> $title</div>", $text);

или я туплю?
и еще интересно, можно ли сделать по такому же принципу вывод стандартных новостей, но чтобы картинка в кратком содержании выравнивалась по левому краю с обтеканием текста. при том условии, что картинки в новостях выравнены по центру.
я этот модуль скачал, но пока не ставил, потому что ума не приложу как его использовать, ведь у меня на сайте все новости выводятся на главной.
 
Nightwalker
можно сделать это через css. присвоить класс к картинкам новостей в parse.class.php,
в css-файле сделать селектор, где класс картинки, относящийся к классу короткой новости имеет значение {float:left;бла бла бла}, тут же можно задать и ширину и высоту картнки.
 
Nightwalker
можно сделать это через css. присвоить класс к картинкам новостей в parse.class.php,
в css-файле сделать селектор, где класс картинки, относящийся к классу короткой новости имеет значение {float:left;бла бла бла}, тут же можно задать и ширину и высоту картнки.

насколько я знаю, parse.class.php работает в момент добавления новости. а чтоже делать с новостями, которые уже в базе?
вообще, не понимаю, зачем такой геморрой? можно сделать так:
<div class="shortstory">{short-story}</div>

а в css файл прописать:
.shortstory img{float:left;бла бла бла}

все-таки спасибо. без тебя я бы не справился. это частично решило мою проблему, но не совсем.
 
насколько я знаю, parse.class.php работает в момент добавления новости. а чтоже делать с новостями, которые уже в базе?
вообще, не понимаю, зачем такой геморрой? можно сделать так:
<div class="shortstory">{short-story}</div>
а в css файл прописать:
.shortstory img{float:left;бла бла бла}
все-таки спасибо. без тебя я бы не справился. это частично решило мою проблему, но не совсем.
да действительно погнал) что-то я зациклился, что в краткой новости ещё могут быть смайлы)

я этот модуль пока тоже не ковырял, но у меня сделано на сайте так:
в engine/modules/functions.php после
PHP:
if( ! defined( 'DATALIFEENGINE' ) ) {
	die( "Hacking attempt!" );
}
вставляешь
PHP:
function get_img_basic($text){
preg_match('|<img(.*) src="([^"]*)"[^>]*>|is', $text, $out); 
return $out[2];
}
потом в engine/modules/show.short.php находишь
PHP:
if( $view_template == "rss" ) {
и ВЫШЕ вставляешь это
PHP:
//отделение картинки в short.story by FORMAT
$short_image_alt = stripslashes( $row['title'] );
$search = array ("'<!--TBegin-->.*?<!--TEnd-->'si",
"'<!--smile[^>]*?-->.*?<!--/smile-->'si",
"'<img[^>]*?>.*?'si");
$replace = array ("",
"",
"");
$not_resized_short_image = get_img_basic($row['short_story']);
if ($not_resized_short_image != ""){
$short_image = "<img src=\"{$not_resized_short_image}\" alt=\"{$short_image_alt}\" />";
} else {
$short_image = "";
}
$row['short_story'] = preg_replace( $search,$replace, $row['short_story'] );
$tpl->set('{image}',$short_image);
//отделение картинки в short.story by FORMAT
в шаблоне короткой новости вывод картинки тегом {image}
 
Подскажите... возникла проблема с отображением картинок:
Версия 8.0 -лицензия, вот что в коде:
Код:
<br><p style=\"text-align: justify;\"><div align='left'><img src=\"http://www.site.ru/uploads/posts/2009-05/iii.jpg\" border=\"0\" alt=\"alt\" align=\"left\" / width=65 height=49> <a href='22/212-stranica.html'>
Картинка соответстевнно не отображается..
 
Такая же ошибка с отображениями картинок...
 
вот тут, похоже -

PHP:
$text = preg_replace ("'\<img src=(.*?)\>'si", "<div align='left'><img src=$1 width=65 height=49> $title</div>", $text);
$text = preg_replace ("'\<img align=(.*?) src=(.*?)\>'si", "<div class='brd' align='left'><a href=$2><img src=$2 width=150 height=150></a>$title</div>", $text);

выражение забирает все символы, кавычки тоже. а после экранирует их перед вставкой?
PHP:
$text = preg_replace ("'\<img src=\"(.*?)\"\>'si", "<div align='left'><img src=$1 width=65 height=49> $title</div>", $text);
$text = preg_replace ("'\<img align=\"(.*?)\" src=\"(.*?)\"\>'si", "<div class='brd' align='left'><a href=$2><img src=$2 width=150 height=150></a>$title</div>", $text);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху