Расширение bjblocks

Расширение для создания дополнительных информационных блоков на сайте. Является дополнением к расширению blocks.

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

На данный момент, реализованы такие блоки, как

  • "Смотрите также"
  • "Следующая/предыдущая запись"
  • "Облако тегов"
  • "Список категорий"

Информация для разработчиков

Чтобы подключить собственные блоки к расширению bjblocks, вам нужно создать простенькое расширение, состоящее из index.php, и файла конфигурации.

В index.php объявите функцию(без параметров, или с указанием параметров по умолчанию, возвращает bool-значение), которая будет выводить содержимое вашего блока, затем пропишите эту функцию в реестр bjblocks, просто добавив в массив $bjblocks элемент, ключом которого является имя вашей функции, а значением - описание действия этого блока.

Пример:

function ext_bjblocks_tagcloud(){
    global $_s, $_v, $_l;
    $d = dir('data/tags/cache');
    while (false !== ($tag = $d->read())){
        if(is_file('data/tags/cache/'.$tag)&&$tag!='readme.txt'&&filesize('data/tags/cache/'.$tag)>1){
        $tags[$tag]=filesize('data/tags/cache/'.$tag);
        }
    }
    arsort($tags,SORT_NUMERIC);
    reset($tags);
    $max=current($tags);
    ksort($tags);
    echo $_l['tagcloud_title'].'<div class="tagcloud"'.$_l['tagcloud_attr'].'>';
    foreach($tags as $tag => $num){
        echo ' <a href="'.generate_link('t='.$tag).'" style="font-size:'.(($num/$max)*100).'%; white-space:nowrap;">'.$tag.'</a>';
    }
    echo '</div>';
    $d->close();
    return true;
}
$bjblocks['ext_bjblocks_tagcloud']='Облако тегов';