Symfony2 — Настройка облака тегов на боковой панелиPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Symfony2 — Настройка облака тегов на боковой панели

Сообщение Anonymous »

Я хочу воссоздать боковую панель облака тегов, которую вы обычно видите в блогах, где пользователь выбирает тег, и отображаются все сообщения с этим конкретным тегом.

Сейчас мне не удается понять, как настроить запрос.

У меня есть запрос, чтобы получить все теги:

$blogTags = $this->createQueryBuilder('b')
->select('b.tags')
->getQuery()
->getResult();

return $blogTags;


Но как мне настроить его так, чтобы он отображал только сообщения по этому тегу, выбранному пользователем из группы тегов на боковой панели?

У меня есть код, который сохраняет теги и присваивает им вес на боковой панели. Я ищу следующий шаг, чтобы связать теги с конкретными сообщениями.

getsTags()

public function getTags()
{
$blogTags = $this->createQueryBuilder('b')
->select('b.tags')
->getQuery()
->getResult();

$tags = array();

foreach ($blogTags as $blogTag) {
$tags = array_merge(explode(",", $blogTag['tags']), $tags);
}

foreach ($tags as $tag) {
$tag = trim($tag);
}

return $tags;
}


getTagWeights()

public function getTagWeights($tags)
{
$tagWeights = array();
if (empty($tags))
return $tagWeights;

foreach ($tags as $tag)
{
$tagWeights[$tag] = (isset($tagWeights[$tag])) ? $tagWeights[$tag] + 1 : 1;
}
// Shuffle the tags
uksort($tagWeights, function() {
return rand() > rand();
});

$max = max($tagWeights);

// Max of 5 weights
$multiplier = ($max > 5) ? 5 / $max : 1;
foreach ($tagWeights as &$tag)
{
$tag = ceil($tag * $multiplier);
}

return $tagWeights;
}


Подробнее здесь: https://stackoverflow.com/questions/231 ... e-side-bar
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»