Foro: paginación en la búsqueda y contador de visitas por tema
- búsqueda paginada (count_search_topics + offset/limit) con controles en la plantilla - contador de visitas: columna opcional forum_topics.views con detección automática (has_views_column), increment_views al ver el tema, mostrado en lista y cabecera - sql/forum_views.sql (ALTER opcional) + docs 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</div>
|
||||
<div>{{ topic.post_count }} respuestas · {{ topic.views }} vistas</div>
|
||||
{% if topic.last_poster %}<div>último: {{ topic.last_poster }}</div>{% endif %}
|
||||
{% if topic.last_time %}<div>{{ topic.last_time }}</div>{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -30,6 +30,17 @@
|
||||
{% empty %}
|
||||
<p>No se encontraron temas.</p>
|
||||
{% endfor %}
|
||||
|
||||
{% if pagination and pagination.total_pages > 1 %}
|
||||
<div class="forum-pagination">
|
||||
{% if pagination.has_prev %}<a href="?q={{ query|urlencode }}&page={{ pagination.prev_page }}">« Anterior</a>{% endif %}
|
||||
{% for p in pagination.page_range %}
|
||||
{% if p == pagination.page %}<span class="current">{{ p }}</span>
|
||||
{% else %}<a href="?q={{ query|urlencode }}&page={{ p }}">{{ p }}</a>{% endif %}
|
||||
{% endfor %}
|
||||
{% if pagination.has_next %}<a href="?q={{ query|urlencode }}&page={{ pagination.next_page }}">Siguiente »</a>{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<p>Escribe al menos 2 caracteres para buscar.</p>
|
||||
{% endif %}
|
||||
|
||||
@@ -14,6 +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.locked %}<span class="forum-badge">Tema bloqueado</span>{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user