PHP-сниппет

Собираем статистику по материалам

вт, 03.04.2012 10:31 :: olk

Небольшой сниппет по сбору статистики по сайту.
Показывает количество опубликованных материалов и комментариев к ним, с разбивкой по типам.

  1. $result = db_query("select count(n.nid) as cnt_node, count(c.cid) as cnt_comment,t.name from {node} n inner join {node_type} t on t.type=n.type and n.status=1 left join {comment} c on c.nid=n.nid and c.status=1 group by t.name");
  2. $items = array();
  3. foreach($result as $record) {
  4.   $items[] = 'Материалов типа: (' .$record->name .') : '.$record->cnt_node. ' , Комментариев :' . $record->cnt_comment;
  5. }
  6. if(count($items)) {
  7.   print theme('item_list',array('items'=>$items,'title'=>'Статистика'));
  8. }

Небольшой сниппет вместо модуля tagadelic (Облако тэгов)

ср, 01.10.2008 14:28 :: olk

Небольшой сниппет, показывающее облако тэгов по заданному (через код vid) словарю ... Конечно он не покрывает все возможности и настройки модуля tagadelic, но в некоторых случаях может оказаться полезным Для темизации всего блока можно использовать стилизацию tags.voc-номер-словаря, для темизации терминов a.tags-voc-номер-словаря ... PS.Данный код выводит только «реальные» термины словаря, т.е. термины которые «привязаны» к нодам (просто мне показалось не логичным выводить «пустые» тэги, не связанные с материалом) Обновление: Добавил сортировку терминов в сниппет, переменная $order может принимать следующие значения 0 - сортировка по ид термина 1 - сортировка по весу по убыванию (с наибольшим весом выше)

Еще один интересный и безопасный способ вставки сниппетов

чт, 18.09.2008 13:06 :: olk

Тут поэкспериментировал, и нашел интересный способ вставки PHP сниппетов (может правда изобрел велосипед :). Суть в том, что бы сниппет хранить не в контенте сайта (блоках, страницах и т.д), а во внешних файлах и вставлять в контент посредством php конструкции include. Преимущества: 1. Код сниппета можно менять и отлаживать не изменяя контента. 2. При некорректном (ошибочном) коде, не надо заморачиваться с отключением блока. 3. Все сниппеты можно держать в одном месте.

Подписка на PHP-сниппет