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

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

Вы не зашли.

#1 2009-03-17 08:12:30

kaBazulla
Участник
Откуда Ukraine
Зарегистрирован: 2008-11-24
Сообщений: 44
Рейтинг :   

Количество новостей в категории

Всем привет! Проблемка у меня. Нужно сделать меню (смотрите на картинке ниже) и вывести общее количество новостей в каждой категории.
Отверстать то не проблема, а проблема вывести количество новостей. Есть ли переменная для вывода из определенной категории, например:
{counter=1} ?
Заранее спасибо!
P.s. вот что должно получится:
79e376418038.gif

Не в сети

#2 2009-03-17 10:36:09

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

Re: Количество новостей в категории

1. categories.tpl:

<a href="{link}" title="{cat}"><img src="{icon}"/></a>({counter})

2. Прописываем для каждой категории иконку.
3. Включаем опцию "Счетчик новостей в категории". (Настройки - Новости)

В строку таким образом вывести не получиться...
imho, нужно курить вот этот код из functions.inc.php, чтобы сделать br после 4 иконок:

// New category menu generator
function generateCategoryMenu(){
	global $mysql, $catz, $tpl, $config;

	$tpl -> template('categories', tpl_site);
	foreach($catz as $k => $v){
		if (!$v['cat_show']) continue;

		$tvars['vars'] = array(
			'if_active'	=>	(category && category == $v['alt'])?'active_cat':'',
			'link'		=>	GetLink('category', array ('alt' => $v['alt'])),
			'mark'		=>	str_repeat('—', $v['poslevel']),
			'cat'		=>	$v['name'],
			'counter'	=>	($config['category_counters'] && $v['posts'])?('['.$v['posts'].']'):'',
			'icon'		=>	$v['icon'],
		);
		$tvars['regx']['[\[icon\](.*)\[/icon\]]'] = trim($v['icon'])?'$1':'';

		$tpl -> vars('categories', $tvars);

		$result .= $tpl -> show('categories');
	}
	return $result;
}

Не в сети

#3 2009-03-17 10:48:52

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

Re: Количество новостей в категории

Курить в этом коде совсем нечего...:P

Я знаю только два пути решения этой задачи:
1. Зделать всё в виде плагина
2. Подправить {counter} в functions.inc.php чтобы обрабатывался и в main.tpl

Не в сети

#4 2009-03-17 17:25:03

kaBazulla
Участник
Откуда Ukraine
Зарегистрирован: 2008-11-24
Сообщений: 44
Рейтинг :   

Re: Количество новостей в категории

А что проще и быстрее? Буду рад любому варианту smile

Не в сети

#5 2009-03-17 17:45:53

SeeD
Участник
Откуда Москва
Зарегистрирован: 2008-10-13
Сообщений: 158
Рейтинг :   
Сайт

Re: Количество новостей в категории

<div style="width:180px; text-align:center; padding:5px; border:1px solid;">
<img src="1.gif" /> <img src="1.gif" /> <img src="1.gif" /> <img src="1.gif" /> <img src="1.gif" /> <img src="1.gif" />
</div>

poJ7ejBAlw.png

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

Изменено SeeD (2009-03-17 17:47:25)


делай, что надо и будь, что будет

Не в сети

#6 2009-03-17 21:28:07

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

Re: Количество новостей в категории

SeeD, твой вариант у меня работает таким образом:
catza.jpg

<div style="width:180px; text-align:center; padding:5px; border:0px solid;">
<a href="{link}" title="{cat}"><img src="{icon}" /></a><br/>({counter})
</div>

Не в сети

#7 2009-03-17 22:06:57

SeeD
Участник
Откуда Москва
Зарегистрирован: 2008-10-13
Сообщений: 158
Рейтинг :   
Сайт

Re: Количество новостей в категории

в моем варианте было предложение каждый элемент дополнительно заключить в DIV


делай, что надо и будь, что будет

Не в сети

#8 2009-03-17 22:38:21

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

Re: Количество новостей в категории

Каким образом?
Если вручную, то каким образом тогда выводить счётчик?

Не в сети

#9 2009-03-17 23:48:14

SeeD
Участник
Откуда Москва
Зарегистрирован: 2008-10-13
Сообщений: 158
Рейтинг :   
Сайт

Re: Количество новостей в категории

да просто не

<a href="{link}" title="{cat}"><img src="{icon}" /></a><br/>({counter})

а

<div><a href="{link}" title="{cat}"><img src="{icon}" /></a><br/>({counter})</div>

если с ходу не получится, то нужно поиграться с CSS атрибутами. display, float и т.д.


делай, что надо и будь, что будет

Не в сети

#10 2009-03-18 03:15:24

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

Re: Количество новостей в категории

Можно еще и так:
HTML:
<div id="2columns">
    <ul class="columns">
        <li><a href="{link}" title="{cat}"><img src="{icon}" /></a><br/>({counter})</li>
    </ul>
</div>

CSS
ul li { list-style: none; } /* глобальное значение */
ul{ margin: 0 auto; }
#2columns { width: 150px; font: 11px Arial, Helvetica, sans-serif; }
ul.columns li{ float: left; text-align: center; height: 30px; width: 50px; }

Не в сети

#11 2009-03-18 09:29:33

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

Re: Количество новостей в категории

kaBazulla, Могу написать плагин который будет так выводить, но будет делать 2 запроса к БД.
Тебя это устраивает?

Не в сети

#12 2009-03-18 10:15:58

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

Re: Количество новостей в категории

Ребят, зачем придумывать велосипед? Решение от Trashcka отлично работает:
catzv.jpg

Не в сети

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

Работает на FluxBB