Symfony2 — добавить наиболее просматриваемый пост на боковую панель

#symfony

#symfony

Вопрос:

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

Как вы можете настроить метод, который определяет, сколько записей было выбрано пользователем, а затем добавить в топ-3 или около того просмотренных записей?

Например, здесь (ближе к середине страницы на боковой панели, наиболее просматриваемая): http://america.aljazeera.com /

Есть ли пакет, который включает это?

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

Комментарии:

1. Слишком широкий. Вы что-нибудь пробовали?

2. Хотите получить реалистичные данные о посещениях или, может быть, это хороший грязный метод? Однако вам не нужно выполнять запись в базу данных, если ваша цель — обслуживать страницу как можно быстрее.

3. @bartek Я ищу общий метод, как это сделать, поскольку я не уверен, как настроить, сколько раз пользователь нажимает на доступ к статье. Можно ли это сделать исключительно на php или потребуется Javascript?

4. вы должны сохранить ее в своей сущности, если она нажата, тогда вы можете легко запросить ее

5. Обновите article поле: добавить целое visited число . В вашем ArticleController::showAction обновлении вашей сущности после успешного find завершения. Пример: $article = $this->get('doctrine')->getRepository('yourRepo')->find($id); $article->incrementVisited(); Затем просто запросите наиболее посещаемую статью и отобразите ее на sidebar

Ответ №1:

Нет, я не знаю никого, кто бы это делал.

Чтобы иметь 3 наиболее просматриваемых статьи, вам нужно добавить в свою базу данных поле, в котором указывается, насколько важна статья.

У вас есть несколько способов сделать это, вот что приходит мне на ум: Во-первых: вы добавляете отношение ViewedByWeek -> Post . Для каждого поста этот объект сохраняет количество посещений. Каждый раз, когда пользователь посещает страницу, вы увеличиваете количество посещений записи за текущую неделю.

Затем вы можете найти самый популярный пост за неделю, за месяц, за год.

Если вы не используете ничего, связанного со временем, информация не сильно изменится