1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

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

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

  1. traff_hunter

    traff_hunter Новичок

    Всем привет. Сижу разбираюсь с доргеном.
    Первая проблема то что ни один шаблон не работает корректно "из коробки". Это уже наводит на размышления...Долго разбирался с кино шабом, оказывается он уже вроде как не поддерживается.

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

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

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

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

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


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

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

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

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

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

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

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

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

    Спасибо, помогло. Но конструкция вида:
    Код:
                                {% 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 Опытный Пользователь

    ну это логично - ты сам так и прописал :)
    <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 %}
    
     
    Виктор нравится это.
  7. Виктор

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

    Спасибо, с этим разобрался. А подскажи пожалуйста, почему в тэгах {% block title %} и {% block head_title %} кеширование не работает?
    Пробую выводить вот так:
    Код:
    {% block head_title %}
    {% cache 'body_title' ~ cache_id 0 %}
    {%set title2 = rand_str_from_file(settings.doc_root ~ '/templates/public/blog/data/title.txt',1) %}
    
    {{title2[0]}}
    
    {% endcache %}
    {% endblock %}
    
    Но при обновлении страницы, каждый раз меняется строка {{title2[0]}}
     
  8. ddn128

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

    работает. А вообще кеш включён? В других местах кеширует? Что в конфиге?
     
  9. Виктор

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

    Кеш включен. Пробовал и file_cache и sqlite_cache. Результат одинаковый. В других местах, в том же файле homepage.html кеширует без проблем. Уже голова болит от разных комбинаций...(
     

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