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

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

Вы не зашли.

#76 2011-01-19 14:17:28

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: lastnews :: Последние новости с сайта

Чем тебе not regexp не нравится?

Не в сети

#77 2011-01-19 14:24:25

vairus
Участник
Зарегистрирован: 2008-10-13
Сообщений: 120
Рейтинг :   

Re: lastnews :: Последние новости с сайта

потому как 4 lastnews
один выводит одну категорию
второй вторую
третий третью
а четвертый все кроме трех

Изменено vairus (2011-01-19 14:28:17)

Не в сети

#78 2011-01-19 14:30:50

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: lastnews :: Последние новости с сайта

Ну немного доработать код и всё...
1. Добавить ещё одну переменную к функции.
2. Добавить цикл но только с not...
И всё)

Не в сети

#79 2011-07-14 00:41:40

staric
Участник
Зарегистрирован: 2010-09-09
Сообщений: 96
Рейтинг :   

Re: lastnews :: Последние новости с сайта

как сделать, чтобы работали bb коды? а то при выводе последних новостей они выводятся типа

[b]текст[/b]

или дайте ссылку если уже обсуждалось, а то не нашел

Изменено staric (2011-07-14 00:42:13)

Не в сети

#80 2011-07-14 00:44:42

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

Re: lastnews :: Последние новости с сайта

Не в сети

#81 2011-07-14 03:58:19

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

Re: lastnews :: Последние новости с сайта

Не в сети

#82 2011-10-11 09:01:12

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: lastnews :: Последние новости с сайта

Плагин не работает!
Движок: 0.9.2 Release [SVN646]
Сделал блок со списком последних новостей, включил плагин, прописал в коде:

function plugin_lastnewsGenerator($orderby = '', $categories = array(17), $overrideParams = array())

т.е. выводить из категории 17 все новости.
Список выводится, только из всех категорий подряд! Что не так?

Не в сети

#83 2011-10-11 10:25:08

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

Re: lastnews :: Последние новости с сайта

Выложи полную версию lastnews.php

Не в сети

#84 2011-10-12 06:19:32

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: lastnews :: Последние новости с сайта

Вот выкладываю то, что было в комплекте с релизом + моя вставка цифры 17.

<?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')));
}

//
// $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(17), $overrideParams = array()) {
	global $config, $mysql, $tpl, $lang, $langShortMonths, $langMonths, $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 = 10;
	} 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); }

		$tvars['vars'] = array(
			'link'		=>	newsGenerateLink($row),
			'views'		=>	$row['views']
		);

		// 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;
}

Изменено Сокол (2011-10-12 06:20:28)

Не в сети

#85 2011-10-12 14:47:07

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

Re: 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')));
}

Не в сети

#86 2011-10-12 17:32:13

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: lastnews :: Последние новости с сайта

Wolverine, спасибо!
Разобрался.
У этого плагина нужно поточнее переписывать описание, а то не все поймут...

Не в сети

#87 2011-10-12 17:38:32

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

Re: lastnews :: Последние новости с сайта

Его в принципе не нужно использовать уже, есть же top_news, в котором в код залазить не нужно

Не в сети

#88 2011-10-27 03:42:45

rommx
Участник
Зарегистрирован: 2011-01-01
Сообщений: 1
Рейтинг :   

Re: lastnews :: Последние новости с сайта

Извините,  можно как-нить картинку подгружать LN из материала (желательно уменьшенную?)

Не в сети

Подвал раздела

Работает на FluxBB