ANIga gallery и вывод списка альбомов в виде облака тегов

Была необходимость вывода списка альбомов в виде облака тегов
Вот что получилось:

<?php
echo '<br>';
$result=mysql_query('SELECT wp_aniga_albums.id, name, count( * ) as cnt FROM wp_aniga_albums JOIN wp_aniga_picture ON wp_aniga_albums.id = wp_aniga_picture.parent_id GROUP BY wp_aniga_albums.id ORDER BY RAND()');

if (mysql_num_rows($result)>0)
{
while ($row=mysql_fetch_array($result))
{

$url=$row['id'];

$tags[$row['name']] = $row['cnt']; //разделяем название альбома и кол-во фоток

$max_size = 1.7; // максимальный размер шрифта в процентах
$min_size = 1.4; // максимальный размер шрифта в процентах

$max_qty = max(array_values($tags));//определение альбома с наибольшим числом фоток
$min_qty = min(array_values($tags));//определение альбома с наименьшим числом фоток

// определение интервала
$spread = $max_qty - $min_qty;
if (0 == $spread) { // чтобы избежать деления на ноль в дальнейшем
    $spread = 1;
}

$step = ($max_size - $min_size)/($spread);//считаем шаг


foreach ($tags as $key => $value) {

    $size = $min_size + (($value - $min_qty) * $step);//приращение от минимального к максимальному
 echo '<span class="birth_table">&#151;&nbsp;&nbsp;альбом&nbsp;<a href="?page_id='.$url.'" style="font-size: '.$size.'em">'.$key.'</a>&nbsp;'.$value.' фото</span><br>';

    }

}
}

?>

В каком виде выводить – разберетесь… главное система… 😉

Будут вопросы – пишите

Склонение существительных с числительными:

function plural($n, $form1, $form2, $form5)
{
                $n = abs($n) % 100;
                $n1 = $n % 10;
                if ($n > 10 && $n < 20) return $form5;
                else if ($n1 > 1 && $n1 < 5) return $form2;
                else if ($n1 == 1) return $form1;

        return $form5;
}

Вывод

$vol.'&nbsp;'.plural($vol, "фотография", "фотографии", "фотографий")

Использовал материалы http://mcaizer.habrahabr.ru/blog/19133.html

Перенесу в FAQ по плагинам

Anonymous
Отправить
Ответ на: