И так создаем 3 странички blog, blogall, post.
blogall.htm выводит все записи в виде https://testsites/blog

title = "blogall"
url = "/blog"
is_hidden = 0
robot_index = "index"
robot_follow = "follow"

[blogPosts]
pageNumber = "{{ :page }}"
postsPerPage = 3
noPostsMessage = "No posts found"
sortOrder = "published_at desc"
categoryPage = "cat"
postPage = "post"
==
{% partial 'posts/default' %}

blog.htm Выводит записи с пагинацией в виде https://testsites/blog/page/1

title = "blog"
url = "/blog/page/:page?"
is_hidden = 0
robot_index = "index"
robot_follow = "follow"

[blogPosts]
pageNumber = "{{ :page }}"
postsPerPage = 3
noPostsMessage = "No posts found"
sortOrder = "published_at desc"
categoryPage = "cat"
postPage = "page"
==
{% partial 'posts/default' %}

post.htm вывод поста

title = "post"
url = "/blog/:cat/:slug"
is_hidden = 0
robot_index = "index"
robot_follow = "follow"

[blogPost]
slug = "{{ :slug }}"
categoryPage = 11
==
{% component 'blogPost' %}

Ну и наш модифицированный список постов partial/posts/default.htm

==

<ul class="post-list">
    {% for post in posts %}
    <li>
        
        <h3><a href="/blog/{{ post.categories[0].slug }}/{{ post.slug }}">{{ post.title }}</a></h3>

        <p class="info">
            Posted
            {% if post.categories.count %} in {% endif %}
            {% for category in post.categories %}
            <a href="{{ category.url }}">{{ category.name }}</a>{% if not loop.last %}, {% endif %}
            {% endfor %}
            on {{ post.published_at|date('M d, Y') }}
        </p>

        <p class="excerpt">{{ post.summary|raw }}</p>
    </li>
    {% else %}
    <li class="no-data">{{ __SELF__.noPostsMessage }}</li>
    {% endfor %}
</ul>

{% if posts.lastPage > 1 %}
<ul class="pagination">
    {% if posts.currentPage > 1 %}
    <li><a href="/blog/page/{{ posts.currentPage -1}}">&larr; Prev</a> </li>


    {% endif %}

    {% for page in 1..posts.lastPage %}
    <li class="{{ posts.currentPage == page ? 'active' : null }}">

        <a href="/blog/page/{{ page }}">{{ page }}</a>


    </li>
    {% endfor %}

    {% if posts.lastPage > posts.currentPage %}
    <li><a href="/blog/page/{{ posts.currentPage +1}}">Next &rarr;</a></li>
    {% endif %}
</ul>
{% endif %}

Теперь у нас
по https://testsites/blog все посты
по https://testsites/blog/page/1 посты по страницам
по https://testsites/blog/категория/слагпоста пост

  • MORION_2010 ответили на это сообщение.

    Vladimir

    Это проверил все работает.

    под заголовком есть строка с переходом на категорию, что нужно добавить что-бы она заработала ?

    {% if post.categories.count %} in {% endif %}
                {% for category in post.categories %}
                <a href="{{ category.url }}">{{ category.name }}</a>{% if not loop.last %}, {% endif %}
                {% endfor %}

    скопировать шаблон категорий и там править ?

    @MORION_2010 и @Vladimir, пожалуйста, оборачивайте ссылки на любые сайты, которые вы используете для примеров в косые кавычки (``).

    Сейчас я самостоятельно все исправил, просто имейте ввиду в будущем.

      • Изменено

      reazzon Откуда такая необходимость?
      ------------------------------------------------
      test http://ya.ru http://ya.ru
      Эт чтобы они не работали как ссылки получается. И какая разница будут они ссылками или текстом?

        Vladimir в плане СЕО плохо reazzon ок, просто с редактором поначалу не совсем освоился теперь буду обворачивать

        Vladimir поисковые системы учитывают то, куда ссылается твой сайт. И если сайт будет пестрить ссылками на разные сайты, то он может посчитать форум как обычный сайт с биржами ссылок, что будет полной жопой для дальнейшей жизни сайта.

        А вот еще такой нюанс .... есть несколько страниц (портфолио, блог, каталог с фото) можно ли выводить на определенной странице свою категорию но так чтобы они не выводились на странице блога .... например страница портфолио = категория портфолио и все страницы которые в нее входят

        • Vladimir ответили на это сообщение.

          MORION_2010 там где выводится список постов добавь условие что то типа

          {% if post.categories[0].slug!='portfolio' %}
          //Тут выводятся посты
          {% endif %}

          И посты с категорией porfolio не будут видны.

          • MORION_2010 ответили на это сообщение.
            месяц спустя

            А если наоборот, нужно вывести посты одной категории все остальные скрыть (их там 10шт) как тогда перестроить конструкцию?

            вместо != не равно, поставить == равно

            Vladimir
            post.categories[0].slug! Что такое [0] ? Вывести все?

            • Vladimir ответили на это сообщение.

              MORION_2010 Пост может относиться к многим категориям. post.categories это массив категорий поста. post.categories[0] первый элемент массива категорий поста. Но это все не нужно в этом случае. Есть же