Foro: ocultar contador de visitas cuando la columna no existe
- corrige que se mostrara '1 visitas' sin la columna forum_topics.views: el incremento y la visualización solo ocurren si has_views_column() es true Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -32,7 +32,7 @@
|
||||
<div class="desc">por {{ topic.display_poster }} · {{ topic.created }}</div>
|
||||
</div>
|
||||
<div class="meta">
|
||||
<div>{{ topic.post_count }} respuestas · {{ topic.views }} vistas</div>
|
||||
<div>{{ topic.post_count }} respuestas{% if has_views %} · {{ topic.views }} vistas{% endif %}</div>
|
||||
{% if topic.last_poster %}<div>último: {{ topic.last_poster }}</div>{% endif %}
|
||||
{% if topic.last_time %}<div>{{ topic.last_time }}</div>{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<div class="forum-wrap">
|
||||
<div class="forum-actions">
|
||||
{% if forum %}<a class="forum-btn" href="{% url 'forum_view_p1' forum_id=forum.id %}">← {{ forum.name }}</a>{% endif %}
|
||||
<span style="color:#b1997f; align-self:center">{{ topic.views }} visitas</span>
|
||||
{% if topic.has_views %}<span style="color:#b1997f; align-self:center">{{ topic.views }} visitas</span>{% endif %}
|
||||
{% if topic.locked %}<span class="forum-badge">Tema bloqueado</span>{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
+7
-3
@@ -82,6 +82,7 @@ def view_forum(request, forum_id, page=1):
|
||||
'forum': forum,
|
||||
'topics': topics,
|
||||
'pagination': pag,
|
||||
'has_views': db.has_views_column(),
|
||||
}))
|
||||
|
||||
|
||||
@@ -114,10 +115,13 @@ def view_topic(request, topic_id, page=1):
|
||||
|
||||
forum = db.get_forum(topic['forum_id'], include_hidden=True)
|
||||
|
||||
# Contador de visitas (si la columna existe)
|
||||
# Contador de visitas (solo si la columna existe)
|
||||
if db.has_views_column():
|
||||
db.increment_views(topic_id)
|
||||
if topic.get('views') is not None:
|
||||
topic['views'] = topic['views'] + 1
|
||||
topic['views'] = (topic.get('views') or 0) + 1
|
||||
topic['has_views'] = True
|
||||
else:
|
||||
topic['has_views'] = False
|
||||
|
||||
total = db.count_posts(topic_id)
|
||||
pag, offset = _paginate(total, page, settings.FORUM_POSTS_PER_PAGE)
|
||||
|
||||
Reference in New Issue
Block a user