Вы не зашли.
Страницы 1
Всем привет! Проблемка у меня. Нужно сделать меню (смотрите на картинке ниже) и вывести общее количество новостей в каждой категории.
Отверстать то не проблема, а проблема вывести количество новостей. Есть ли переменная для вывода из определенной категории, например:
{counter=1} ?
Заранее спасибо!
P.s. вот что должно получится:
Не в сети
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;
}
Не в сети
Курить в этом коде совсем нечего...:P
Я знаю только два пути решения этой задачи:
1. Зделать всё в виде плагина
2. Подправить {counter} в functions.inc.php чтобы обрабатывался и в main.tpl
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
<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>
как видишь, все переносится самостоятельно. каждую категорию помести в отдельный div и проблем не возникнет.
Изменено SeeD (2009-03-17 17:47:25)
делай, что надо и будь, что будет
Не в сети
SeeD, твой вариант у меня работает таким образом:
<div style="width:180px; text-align:center; padding:5px; border:0px solid;">
<a href="{link}" title="{cat}"><img src="{icon}" /></a><br/>({counter})
</div>
Не в сети
Каким образом?
Если вручную, то каким образом тогда выводить счётчик?
Не в сети
да просто не
<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 и т.д.
делай, что надо и будь, что будет
Не в сети
Можно еще и так:
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; }
Не в сети
kaBazulla, Могу написать плагин который будет так выводить, но будет делать 2 запроса к БД.
Тебя это устраивает?
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Ребят, зачем придумывать велосипед? Решение от Trashcka отлично работает:
Не в сети
Страницы 1