Как сформировать ссылку на последний комментарий если используется пейджер?

Главные вкладки

Аватар пользователя VasyOK VasyOK 13 апреля 2022 в 20:26

Всем привет. Сейчас я могу вывести ссылку на послдений комментарий путем
формирования в views ссылки типа: {{ view_node }}#comment-{{ cid }} .

Все работает, но не если у ноды несколько страниц комментариев. Тогда нужны ссылка
не
/node-url#comment-CID
a
/node-url?page=1#comment-CID
как ее сформировать?

видел несколько решений но для D7.

Лучший ответ

Аватар пользователя VasyOK VasyOK 13 апреля 2022 в 23:50

Итак: чтобы вывести ссылку на последний комментарий в views нужно:

1) вывести поля

  • Комментарий: ID комментария
  • Статистика Комментария: Количество комментариев
  • Комментарий: Комментарий - поле которое будет текстом ссылки. Можно убрать HTML теги и ограничить количеством символов.
  • Content: Ссылка на Content - галка Вывести URL как текст

2) переписать это поле значением (или добавить пользовательский текст с этим значением)

{% if comment_count > 20 %}
<a href="{{ view_node }}?page={{ (comment_count/20)|round(0, 'floor') }}#comment-{{ cid }}">
  {{ comment_body }}
</a>
{% else %}
<a href="{{ view_node }}#comment-{{ cid }}">
  {{ comment_body }}
</a>
{% endif %}

где 20 - количество комментариев на страницу пейджера

Комментарии

Аватар пользователя VasyOK VasyOK 13 апреля 2022 в 22:21

Облегчаем задачу: в views есть поле Статистика Комментария: Количество комментариев.
Как над этим полем произвести математические операции?
Пробую переписывать его так:

{{ comment_count }}/20

и так:
{{ {{ comment_count }}/20 }}

и так:

{% set some = {{ comment_count }}/20 %}
{{ some }}

Ничего не получается.

Аватар пользователя VasyOK VasyOK 13 апреля 2022 в 23:50

Итак: чтобы вывести ссылку на последний комментарий в views нужно:

1) вывести поля

  • Комментарий: ID комментария
  • Статистика Комментария: Количество комментариев
  • Комментарий: Комментарий - поле которое будет текстом ссылки. Можно убрать HTML теги и ограничить количеством символов.
  • Content: Ссылка на Content - галка Вывести URL как текст

2) переписать это поле значением (или добавить пользовательский текст с этим значением)

{% if comment_count > 20 %}
<a href="{{ view_node }}?page={{ (comment_count/20)|round(0, 'floor') }}#comment-{{ cid }}">
  {{ comment_body }}
</a>
{% else %}
<a href="{{ view_node }}#comment-{{ cid }}">
  {{ comment_body }}
</a>
{% endif %}

где 20 - количество комментариев на страницу пейджера

Аватар пользователя OldWarrior OldWarrior 14 апреля 2022 в 4:43

К слову, помимо описанного вами варианта, всегда есть "системный" url для любого комментария, причём "отвязанный" от конкретной ноды и пейджера, вида:

https://mysite.name/comment/7#comment-7

где 7 - это cid комментария. Разумеется, сам материал при этом не отображается, только комментарий.