проблемы с {{ keyword|pretty_urldecode }}

Тема в разделе "Ошибки , Баги, Проблемы", создана пользователем Igor, 13 дек 2016.

  1. Igor

    Igor Новичок

    3 ноя 2016
    12
    3
    Мужской
    день добрый,
    разбираюсь с шаблоном "videoblog",

    в шаблоне сайта "category.html" имеем:
    ---
    {% if keyword is empty %}
    {% set keyword = settings.keyword %}
    {% else %}
    {% set keyword = keyword|pretty_urldecode|title %}
    {% endif %}

    {% block meta_title %}
    {{keyword}}
    {% endblock %}

    {% block meta_keywords %}
    {{keyword}}
    {% endblock %}

    {% block meta_description %}
    {{keyword}}
    {% endblock %}

    {% block head %}{{ parent()}}{% endblock %}

    {% block content %}

    <!-- Кладу станицу в кеш навсегда -->
    {% cache 'category' ~ cache_id 0 %}

    {% set youtube_videos = youtube_videos(keyword) %}

    <h1>Последние добавленные видеоролики по запросу "{{ keyword|pretty_urldecode }}"</h1>
    ---

    ключевое слово страницы нигде не проявляется, т.е. ни в Title, ни в Description, ни в заголовке H1

    и главное нет ключевика в запросе: <a href="{{ path_for('video', {'keyword': video.title|pretty_urlencode}) }}" class="greenlink short-but">Смотреть подробнее</a>

    подскажите плиз, где собака зарыта )
     
  2. Firestarter

    Firestarter Администратор
    Команда форума

    26 окт 2015
    1.195
    553
    Приветствую.

    <h1>Последние добавленные видеоролики по запросу "{{ keyword|pretty_urldecode }}"</h1>

    Пробуйте сменить на <h1>Последние добавленные видеоролики по запросу "{{ keyword }}"</h1>

    А еще я ошибку тут допустил:
    {% if keyword is empty %}
    {% set keyword = settings.keyword %}
    {% else %}
    {% set keyword = keyword|pretty_urldecode %}
    {% endif %}
    Прошу отписаться по результату.
     
  3. Igor

    Igor Новичок

    3 ноя 2016
    12
    3
    Мужской
    не помогло, ключевик ни в одном месте не проявляется, пробовал на денвере и на хостинге,
    кэш обновлял
     
  4. Igor

    Igor Новичок

    3 ноя 2016
    12
    3
    Мужской
    вопрос решил заменой блоков на:

    {% block meta_title %}
    {%if keyword is empty %}
    {{settings.base_host}}
    {% else %}
    {{keyword|title}}
    {% endif %}
    {% endblock %}

    {% block meta_keywords %}
    {%if keyword is empty %}
    {{settings.base_host}}
    {% else %}
    {{keyword|title}}
    {% endif %}
    {% endblock %}


    {% block meta_description %}
    {%if keyword is empty %}
    {{settings.base_host}}
    {% else %}
    {{keyword|title}}
    {% endif %}
    {% endblock %}
     
  5. Igor

    Igor Новичок

    3 ноя 2016
    12
    3
    Мужской
    предыдущее частное решение не отвечает на вопрос - почему не работает pretty_urldecode
     
  6. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    523
    243
    Мужской
    а что ты хочешь (думаешь) должна делать эта ф-ция?
     
  7. Igor

    Igor Новичок

    3 ноя 2016
    12
    3
    Мужской
    думаю, что данная функция должна декодировать ключевик в кирилицу и подставить в требуемое место,
    например: из юрл "http://test.ru/category/tokarnaya-obrabotka-dereva" ключевик переводит в "токарная обработка дерева"
    или я туплю?!
     
  8. banersbro

    banersbro Новичок

    10 янв 2017
    9
    0
    Мужской
    такая же хрень
     
  9. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    523
    243
    Мужской
    да, pretty_urldecode не работает, но она здесь и не нужна, т.к. кирилический ключ "токарная обработка дерева" уже лежит в макросе {{keyword}} и его можно выводить где хочешь и сколько хочешь
     
  10. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    523
    243
    Мужской
    Нашёл ошибку в pretty_urldecode

    В global.php

    new \Twig_SimpleFilter('pretty_urldecode', array($this, 'prettyUrlDencode'))
    n лишняя
    new \Twig_SimpleFilter('pretty_urldecode', array($this, 'prettyUrlDecode'))
     
    amness и Firestarter нравится это.
  11. Glokken

    Glokken Участник

    26 окт 2015
    144
    32
    Мужской
    Это в 54 строке? Тогда и в 98 править нужно? Или если и там и там одинаково - то все нормально?
     
  12. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    523
    243
    Мужской
  13. Glokken

    Glokken Участник

    26 окт 2015
    144
    32
    Мужской
    :)
    1. Править в 2-х строчках? Да!
    2. Если и там и там одинаково (prettyUrlDencode) - то можно и так оставить? Можно\Нет?
     

Поделиться этой страницей