Проблема с sitemap.txt

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

  1. traff_hunter

    traff_hunter Новичок

    2 окт 2018
    3
    0
    Мужской
    #1 traff_hunter, 5 окт 2018
    Последнее редактирование: 5 окт 2018
    Всем привет. Сижу разбираюсь с доргеном.
    Первая проблема то что ни один шаблон не работает корректно "из коробки". Это уже наводит на размышления...Долго разбирался с кино шабом, оказывается он уже вроде как не поддерживается.

    1. Ок, пробуем Блог. В первом посте всегда появляется {Page_1}, как я понял потому что в файле sitemap.txt создается пустая строка, в следующих постах при перелинковке почему-то каждый пост линкуется 2-3 раза только на один.

    2. Также хочу узнать есть ли возможность подтягивать свой контент из sqlite базы? Ведь с файлами в этом плане работать очень неудобно.
    Например по кейворду из базы берутся значения в переменные и подставляются в шаблон.

    3. Еще проблема с отключением кеша, при array_cache показывает только главную страницу, на все остальные урлы отдает Page not found.
     
  2. ddn128

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

    31 дек 2015
    523
    243
    Мужской
    скорее всего макрос устарел. Давно не смотрел что там в дефолтных шабах. Сформулируй что именно нужно - помогу сделать


    есть. но нужно писать плаг.\обработчик. Пиши в ЛС - помогу

    такое бывает. Проще всего комментировать макросы кеширования
    Код:
    {# cache .... #}
    ....
    {# endcache #}
    а потом расскомент. когда нужно
     
  3. Виктор

    Виктор Новичок

    10 фев 2016
    12
    0
    Мужской
    У меня похожая проблема. Только не с {Page_1}, а с {part_1}, когда подмешивается ссылка в текст. Я так понимаю из-за того, что берется пустая строка и файла sitemap.txt
    Как бы это пофиксить?
     
  4. ddn128

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

    31 дек 2015
    523
    243
    Мужской
    не совсем понял что именно надо пофиксить, но если надо чекнуть пусто\не пусто, то можно использ. empty

    Код:
    {% if var is empty %}
        если переменная пустая выводим это... (или ничего)
    {% else %}
    если не пустая - выводим это...
    {% endif %}
     
    Виктор нравится это.
  5. Виктор

    Виктор Новичок

    10 фев 2016
    12
    0
    Мужской
    Спасибо, помогло. Но конструкция вида:
    Код:
                                {% if part_0 is empty %}
    
                                    <a href="{{settings.base_url}}">{{keyword}}</a>
    
                                {% else %}
                                 
                                {%set contents = rand_str_from_file(settings.doc_root ~ '/templates/public/blog/data/text.txt',1) %}
                                    {% for content in contents %}
                                        {{ content|strings(keyword, 1)|links(1, settings.doc_root ~ '/templates/public/blog/data/sitemap.txt',':','<a href="{base_url}{part_0}">{part_1}</a>' ) }}
                                    {% endfor %}
                                   
                                {% endif %}
    
    не корректно работает. Она выдает ссылку на текущий кейворд а не на рандомную ссылку из файла sitemap.txt
    Но тем не менее спасибо!
     
  6. ddn128

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

    31 дек 2015
    523
    243
    Мужской
    ну это логично - ты сам так и прописал :)
    <a href="{{settings.base_url}}">{{keyword}}</a>
    т.е. если part_0 пустой - то выводить линк на гланую, с алиасом кейворда ( {{keyword}} ) :)
    если тебе нужно выводить линк на главную - то алиас надо соотв.
    например
    <a href="{{settings.base_url}}">Главная</a>
    или можно например какой-то ВЧ ключ (смотря какая тематика) например
    <a href="{{settings.base_url}}">Каталог программ</a>
    или положить какое-то кол-во ВЧ в файл и брать рандомно
    тут уже фантазировать можно как угодно
    Можно вообще ничего не выводить как варик
    Код:
    <!-- если part_0 не пустой то выводим --> 
    {% if part_0 is not empty %}
    
    {%set contents = rand_str_from_file(settings.doc_root ~ '/templates/public/blog/data/text.txt',1) %}
    {% for content in contents %}
    {{ content|strings(keyword, 1)|links(1, settings.doc_root ~ '/templates/public/blog/data/sitemap.txt',':','<a href="{base_url}{part_0}">{part_1}</a>' ) }}
    {% endfor %}
    
    {% endif %}
    
     
    Виктор нравится это.

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