Если заметили, 24 сентября расширение
t3blog было обновлено. Но после обновления перестало работать красивое расширение для отображения облака меток
t3m_cumulus_tagcloud. Что же случилось? Дополнение облака тегов из класса class.tx_t3mcumulustagcloud_pi1.php обратилось к функции getTags_array () в классе class.tagCloud.php из расширения t3blog (файл класса находится в папке t3blog/pi1/widgets/tagCloud/).
После обновления и ревизии этот класс попросту удалили... Чтобы временно решить проблему (о ней я сообщил разработчику, но будет ли это исправлено - неизвестно...) я сделал следующее:
меняем в строке 126 файла class.tx_t3mcumulustagcloud_pi1.php (t3m_cumulus_tagcloud/pi1/class.tx_t3mcumulustagcloud_pi1.php)
$tags = tagCloud::getTags_array();
на
$tags = getTags_array();
А в конце файла, после функции main() вставляем копирую функции getTags_array() из старой версии расширения t3blog:
/**
* Generate a tag clound array. It looks like this:
* array(
* array(
* 'tag'=>"snowflake",
* 'count'=>60,
* ),
* array(
* 'tag'=>"Typo3",
* 'count'=>45,
* ),
* array(
* 'tag'=>"Opensource",
* 'count'=>25 ,
* ),
*);
*
* @return Array[] Which tag occures how much times.
*/
function getTags_array() {
$table = 'tx_t3blog_post';
$where = 'pid='.t3blog_div::getBlogPid() . ' AND TRIM(tagClouds)<>\'\'';
$where .= tslib_cobj::enableFields($table);
$posts = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', $table, $where);
$tags = array();
while ($resPost = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($posts)) {
$tags = array_merge($tags, explode(',' , mb_strtolower($resPost['tagClouds'])));
}
$GLOBALS['TYPO3_DB']->sql_free_result($posts);
$tagArray = array();
foreach ($tags as $tag) {
// makes lowercase tags
$tag = mb_strtolower(trim($tag));
if (isset($tagArray[$tag])) {
// count to display the quantity of tags
$tagArray[$tag]['count']++;
}
else {
$tagArray[$tag] = array(
'tag' => $tag,
'count' => 1,
);
}
}
return array_values($tagArray);
}
function getTags_array()
После такой "косметической работы" все снова заработало!