Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#51 2010-03-29 09:16:10

Trashcka
Участник
Откуда: КиевГрад
Здесь с 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

$template['vars']['plugin_lastnews_stati'] = plugin_lastnewsGenerator($orderBy = 'postdate desc', $categories = array (НОМЕРА КАТЕГОРИЙ ЧЕРЕЗ ЗАПЯТУЮ), $overrideParams = array('number' => СКОЛЬКО ВЫВОДИТЬ ПОСЛЕДНИХ НОВОСТЕЙ - ЧИСЛО, 'overrideTemplatePath' => tpl_site . '/plugins/lastnews/НАЗВАНИЕ ШАБЛОНА/'));

Даты ты хочешь, чтобы тоже разные были у каждого блока?

Вне форума

#52 2010-04-05 23:13:09

legenda
Участник
Откуда: ua
Здесь с 2009-12-22
Сообщений: 2,151
Рейтинг :   39 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Trashcka, да мне надо разные форматы даты, + у мня чтото нехочет шаблон хавать, есть разница чтобы укразывать путь полностю или так как ты написала, и в таком случае темплейты должны лежать в папках плагинов или в папке мой сайт.com/engine/plugins/lastnews/НАЗВАНИЕ ШАБЛОНА

Вне форума

#53 2010-04-06 02:05:10

Trashcka
Участник
Откуда: КиевГрад
Здесь с 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

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

Вне форума

#54 2010-07-26 23:33:28

Евгений
Модератор
Откуда: Россия
Здесь с 2009-04-08
Сообщений: 1,014
Рейтинг :   38 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

А как обрезание короткой новости по кол-ву символов сделать?


I NGeneration CMS

Вне форума

#55 2010-07-27 07:40:05

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

$parse->truncateHTML(текст, необходимая_длина)

Вне форума

#56 2010-07-31 19:10:35

Евгений
Модератор
Откуда: Россия
Здесь с 2009-04-08
Сообщений: 1,014
Рейтинг :   38 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Wolverine, спасибо.

Но встал вопрос обработки ббтегов, попробовал присобачить из top_news, но ничего не вышло.

Вот собственно код:

      list ($short, $full) = explode('<!--more-->', $row['content'], 2);
        $tvars['vars'] = array(
        'link'        =>    newsGenerateLink($row),
        'views'        =>    $row['views'],
        'content'        =>    $parse->truncateHTML($short, 300)
        $short = $parse -> bbcodes($short);
        $short = $parse -> smilies($short);
        );

Помогите пожалуйста сделать обработку тегов.


I NGeneration CMS

Вне форума

#57 2010-07-31 22:30:15

Trashcka
Участник
Откуда: КиевГрад
Здесь с 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Евгений, не проще ли топ-нювс плагин поставить?, чем мудохоться с ласт-нювсом, тем более там функционала больше и без допиливания.

Вне форума

#58 2010-07-31 22:51:03

Евгений
Модератор
Откуда: Россия
Здесь с 2009-04-08
Сообщений: 1,014
Рейтинг :   38 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Trashcka, а как же вывод именно последних новостей, а не популярных?


I NGeneration CMS

Вне форума

#59 2010-08-01 08:58:45

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

$parse в global объявить надо

Вне форума

#60 2010-08-01 13:01:38

Евгений
Модератор
Откуда: Россия
Здесь с 2009-04-08
Сообщений: 1,014
Рейтинг :   38 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Wolverine, я это уже сделал давно.


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

<?php

// Protect against hack attempts
if (!defined('NGCMS')) die ('HAL');

add_act('index', 'plugin_lastnews');


function plugin_lastnews(){
	global $template;
	$template['vars']['plugin_lastnews'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength')));
	$template['vars']['plugin_lastnews_2'] = plugin_lastnewsGenerator($orderBy = '', $categories = array (1), $overrideParams = array('number' => 1, 'maxlength' => 85, 'overrideTemplatePath' => tpl_site . 'plugins/lastnews_2'));
	$template['vars']['plugin_lastnews_3'] = plugin_lastnewsGenerator($orderBy = '', $categories = array (1), $overrideParams = array('number' => 1, 'maxlength' => 85, 'overrideTemplatePath' => tpl_site . 'plugins/lastnews_3'));
	$template['vars']['plugin_lastnews_4'] = plugin_lastnewsGenerator($orderBy = '', $categories = array (1), $overrideParams = array('number' => 1, 'maxlength' => 85, 'overrideTemplatePath' => tpl_site . 'plugins/lastnews_4'));
}

//
// $orderby			- param for news order in show (SQL expression, NO SECURITY CHECK !!!)
// $categories		- a list of categories - array of elements, each element may be a category ID or an array of categories
// $overrideParams	- a list of overriding params
//   * number		- number of news to show
//   * offset		- news number offset
//   * dateformat	- manually set date format for display [default: "{day0}:{month0}:{year}"]
//	* {day}		- day number
//	* {day0}	- day number with leading zero
//	* {month}       - month number
//	* {month0}      - month number with leading zero
//	* {year}        - year (in 4 digit format)
//	* {year2}       - year (in 2 digit format)
//	* {month_s}     - month name, short
//	* {month_l}     - month name, long
//	* {hour}        - hour
//	* {hour0}       - hour with leading zero
//	* {minute0}     - minute with leading zero
//
//   * maxlength	- maximum length of news title (cut)
//   * overrideTemplatePath - path for template
function plugin_lastnewsGenerator($orderby = '', $categories = array(), $overrideParams = array()) {
	global $config, $mysql, $tpl, $lang, $langShortMonths, $langMonths, $parse, $PFILTERS;

	// Generate cache file name [ we should take into account SWITCHER plugin & calling parameters ]
	$cacheFileName = md5('lastnews'.$config['theme'].$config['default_lang'].var_export($categories, true).var_export($overrideParams, true)).'.txt';

	if (extra_get_param('lastnews','cache')) {
		$cacheData = cacheRetrieveFile($cacheFileName, extra_get_param('lastnews','cacheExpire'), 'lastnews');
		if ($cacheData != false) {
			// We got data from cache. Return it and stop
			return $cacheData;
		}
	}

	if (intval($overrideParams['number']) <= 1) {
		$number = 1;
	} else {
		$number = intval($overrideParams['number']);
	}
	$offset = isset($overrideParams['offset'])?intval($overrideParams['offset']):0;

	if (intval($overrideParams['maxlength']) <= 1) {
		$maxlength = 100;
	} else {
		$maxlength = intval($overrideParams['maxlength']);
	}

	// Determine paths for all template files
	if (isset($overrideParams['overrideTemplatePath']) && $overrideParams['overrideTemplatePath']) {
		$tpath = array('entries' => $overrideParams['overrideTemplatePath'], 'lastnews' => $overrideParams['overrideTemplatePath']);
	} else {
		$tpath = locatePluginTemplates(array('entries', 'lastnews'), 'lastnews', extra_get_param('lastnews', 'localsource'));
	}

	$filter = array ('approve = 1');

	//
	$catfilter = array();
	foreach ($categories as $cat) {
		if (is_array($cat)) {
			$catsubfilter = array();
			foreach ($cat as $subcat)
				$catsubfilter [] = "(catid regexp '[[:<:]](".$subcat.")[[:>:]]')";
			$catfilter [] = '('.join (' AND ', $catsubfilter).')';
		} else {
			$catfilter [] = "(catid regexp '[[:<:]](".$cat.")[[:>:]]')";
		}
	}
	if (count($catfilter))
		$filter [] = '('.join(' OR ', $catfilter).')';

	// Preparation for plugin integration [if needed]
	$callingParams = array();
	if (extra_get_param('lastnews', 'pcall')) {
		$callingParams['plugin'] = 'lastnews';
		switch (intval(extra_get_param('lastnews', 'pcall_mode'))) {
			case 1: $callingParams['style'] = 'short';
					break;
			case 2: $callingParams['style'] = 'full';
					break;
			default: $callingParams['style'] = 'export';
		}

		// Preload plugins
		load_extras('news:show');
		load_extras('news:show:one');
	}

	$result = '';
	foreach ($mysql->select("select * from ".prefix."_news where ".join(" AND ", $filter)." order by ".($orderby?$orderby:"id desc")." limit ".$offset.",".$number) as $row) {
		// Execute filters [ if requested ]
		if (extra_get_param('lastnews', 'pcall') && is_array($PFILTERS['news']))
				foreach ($PFILTERS['news'] as $k => $v) { $v->showNewsPre($row['id'], $row, $callingParams); }
		
      list ($short, $full) = explode('<!--more-->', $row['content'], 2);
	  if (extra_get_param('lastnews', 'maxshort')!=0) 	{ $short = $parse->truncateHTML($short, extra_get_param('lastnews', 'maxshort')); }
		if ($config['blocks_for_reg'])					{ $short = $parse -> userblocks($short); }
		if ($config['use_htmlformatter'])				{ $short = $parse -> htmlformatter($short); }
		if ($config['use_bbcodes'])						{ $short = $parse -> bbcodes($short); }
		if ($config['use_smilies'])	 					{ $short = $parse -> smilies($short); }
        $tvars['vars'] = array(
        'link'        =>    newsGenerateLink($row),
        'views'        =>    $row['views'],
        'content'        =>  $short,  
        );
		

		// Set formatted date
		$dformat = (isset($overrideParams['dateformat']))?$overrideParams['dateformat']:(extra_get_param('lastnews','dateformat')?extra_get_param('lastnews','dateformat'):'{day0}.{month0}.{year}');
		$tvars['vars']['date'] = str_replace(array('{day}', '{day0}', '{month}', '{month0}', '{year}', '{year2}', '{month_s}', '{month_l}', '{hour}', '{hour0}', '{minute0}'),
						array(date('j',$row['postdate']), date('d',$row['postdate']), date('n',$row['postdate']), date('m',$row['postdate']), date('y',$row['postdate']), date('Y',$row['postdate']), $langShortMonths[date('n',$row['postdate'])-1], $langMonths[date('n',$row['postdate'])-1], date('G', $row['postdate']), date('H', $row['postdate']), date('i', $row['postdate'])), $dformat);

		if (strlen($row['title']) > $maxlength) {
			$tvars['vars']['title'] = substr(secure_html($row['title']), 0, $maxlength)."...";
		} else {
			$tvars['vars']['title'] = secure_html($row['title']);
		}

		// Execute filters [ if requested ]
		if (extra_get_param('lastnews', 'pcall') && is_array($PFILTERS['news']))
			foreach ($PFILTERS['news'] as $k => $v) { $v->showNews($row['id'], $row, $tvars, $callingParams); }

		$tpl -> template('entries', $tpath['entries']);
		$tpl -> vars('entries', $tvars);
		$result .= $tpl -> show('entries');
	}

	unset($tvars);
	$tvars['vars'] = array ( 'tpl_url' => tpl_url, 'entries' => $result);

	$tpl -> template('lastnews', $tpath['lastnews']);
	$tpl -> vars('lastnews', $tvars);

	$output = $tpl -> show('lastnews');

	if (extra_get_param('lastnews','cache'))
		cacheStoreFile($cacheFileName, $output, 'lastnews');

	return $output;
}

I NGeneration CMS

Вне форума

#61 2010-08-01 13:37:49

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Заполнение конфиг переменной trunc в config.php добавить надо, а то extra_get_param будет ругаться :)

Вне форума

#62 2010-08-01 17:55:18

Евгений
Модератор
Откуда: Россия
Здесь с 2009-04-08
Сообщений: 1,014
Рейтинг :   38 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Wolverine, поправил.


I NGeneration CMS

Вне форума

#63 2010-08-05 20:34:41

Trashcka
Участник
Откуда: КиевГрад
Здесь с 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Евгений, кривой вариант слегка вышел, не во всех вариациях работает, это так к сведению.

А меня другой момент, как вывести только картинку из краткой?
Не предлагать доп-поля и т.п., надо именно в таком ключе.

Отредактировано Trashcka (2010-08-05 20:39:09)

Вне форума

#64 2010-08-14 15:45:57

legenda
Участник
Откуда: ua
Здесь с 2009-12-22
Сообщений: 2,151
Рейтинг :   39 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Trashcka, уже полгода как вывожу картинки с краткой новости

если надо можеш тут почитать там есть вариант, он точно к нж подходит

Вне форума

#65 2010-08-14 15:58:32

Trashcka
Участник
Откуда: КиевГрад
Здесь с 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

legenda, не нашла варианта.

Вне форума

#66 2010-08-14 16:03:25

infinity237
Модератор
Откуда: Russia, Moscow
Здесь с 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

проще в top_news запрос поменять

Вне форума

#67 2010-08-14 16:54:24

Trashcka
Участник
Откуда: КиевГрад
Здесь с 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

infinity237, то, что оно проще, это понятно, но как?, это другое дело )

Вне форума

#68 2010-08-15 01:54:48

legenda
Участник
Откуда: ua
Здесь с 2009-12-22
Сообщений: 2,151
Рейтинг :   39 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Trashcka, тоесть не нашла... там же есть плагин которій можно скачать, если очень надо могу на досуге написать где че поменять нуно, но вроде уже тут на форуме писал

Вне форума

#69 2010-08-15 02:36:25

infinity237
Модератор
Откуда: Russia, Moscow
Здесь с 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Trashcka пишет:

infinity237, то, что оно проще, это понятно, но как?, это другое дело )

Насколько я понимаю нужно в shortnews найти  а остальное обрезать? Если в shortnews больше чем 1 img, то выбрать первый, а остальное обрезать?
Если нужно именно так, то я вижу пока что только такой вариант решения:

1. Обработать shortnews, заменить bb теги на html.
2. Выбрать из shortnews все ссылки на изображения.
Например вот так:
preg_match('|<img src=(.*) >|Uis', $short, $output);
3. Вывести первый элемент массива ($output[1]).

На практике могут возникнуть проблемы с регулярными выражениями.
Возможно есть и более простые варианты, но я чёт туплю.

P.S. чтобы из top_news превратить lastnews нужно фактически подставить в переменную $orderby = id

Отредактировано infinity237 (2010-08-15 02:46:11)

Вне форума

#70 2010-08-15 08:56:06

Trashcka
Участник
Откуда: КиевГрад
Здесь с 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

infinity237, попробую.

Вне форума

#71 2010-08-15 12:05:42

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

infinity237 пишет:

P.S. чтобы из top_news превратить lastnews нужно фактически подставить в переменную $orderby = id

Скорее postdate

Вне форума

#72 2010-08-19 14:56:38

Boris
Участник
Здесь с 2010-02-17
Сообщений: 43
Рейтинг :   

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

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

HELP!!! как это сделать - ну оч-чень нужно.

UPD
интересует вариант вывода через один плагин - реально это или нет?

Отредактировано Boris (2010-08-19 15:27:00)

Вне форума

#73 2010-08-19 15:13:57

Trashcka
Участник
Откуда: КиевГрад
Здесь с 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Boris, и в чем нужна помощь? ))
Все, что ты хочешь все описано в этой теме.

Вне форума

#74 2010-08-19 15:27:18

Boris
Участник
Здесь с 2010-02-17
Сообщений: 43
Рейтинг :   

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

интересует вариант вывода через один плагин - реально это или нет?

Вне форума

#75 2010-08-19 15:38:09

Trashcka
Участник
Откуда: КиевГрад
Здесь с 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: FYI: Интересные возможности плагина lastnews (последние новости сайта)

Boris, что выводить через один плагин?, если по одной новости в каждом блоке, то реально, читать первый пост.

Отредактировано Trashcka (2010-08-19 15:38:50)

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.017 сек, 7 запросов выполнено - Использовано памяти: 631.14 Кбайт (Пик: 684.14 Кбайт) ]