DEV: Работа на темами (первая часть)

Evg Evg 1 Июля 2021

На данный момент сделано не так много, т.к. стараюсь одновременно слегка почистить код, который тут наплодил. Чистить, исправлять много.

Вот так будет выглядеть страница с темами: https://libarea.ru/topics

Пока нет кнопки «Читать».

На этой странице мы видим темы отсортированные по количеству постов в них. В правой части, в Sidebarесть колонка с новыми темами.

Теперь перейдем в саму тему. Например: Фреймворки

В правой колонке мы видим «связанные» темы, а чуть выше, кратное описание темы. Оно возможно (вместе с логотипом) будет перенесено в левую часть, ближе к названию.

Там мы можем найти маленькую надпись «далее».

Если нажать на неё, то перейдем на детальную страницу темы. Эта страница поддерживает Markdown разметку и на ней можно прикреплять посты, которые наиболее полно раскрывать содержание темы.

Это информационная страница рассказывающая, что это за тема, она обобщать будет информацию.

Вложенность тем пока не делал (php) и перенаправление, объединение и синонимы. В базе таблицы уже есть.

Ссылка на темы находится в шапке сайта, рядом с «Пространствами» и в подвале сайта.

8 Ответов

  1. German German 1 Июля 2021

    Тогда я жду финальной отмашки, чтобы протестировать всё. Сейчас же ещё в работе темы?

    1. Evg Evg 1 Июля 2021 (ред.)

      Можно посмотреть то, что есть на GitHub. Спасибо.

  1. rseniks rseniks 2 Июля 2021 (ред.)

    Так, а как темы будут работать? Я смогу указать при публикации поста пространство и тему? И я свой пост увижу в определенной теме и в определенном пространстве?

    1. Если это так, то очень удобно. Хочешь посмотришь посты из определенной темы. А хочешь посмотришь любимые пространства авторов)

  1. Evg Evg 4 Июля 2021

    Вывел на центральную страницу темы под заголовком поста. Еще необходимо решить ряд вопросов с ONLY_FULL_GROUP_BY и ограничение тем при добавление, и собственно можно тестировать.

    SELECT p.*, r.*, v.*,
      u.id, u.login, u.avatar,
      t.topic_id, t.topic_slug, t.topic_title,
      s.space_id, s.space_slug, s.space_name,
    
      GROUP_CONCAT(t.topic_slug, '@', t.topic_title SEPARATOR '@') AS topic_list
      FROM posts AS p
      ... и т.д.

    Хочется одним запросом, что влечет за собой небольшое усложнение, но это того стоит.

    Темы на главной уже доступны в постах.

    1. А что не так с ONLY_FULL_GROUP_BY?

  1. rseniks rseniks 4 Июля 2021 (ред.)

    А почему вы темы сделали с разными url?

    https://libarea.ru/topics
    https://libarea.ru/topic/framework

    Почему не одно название «topics»?

    1. Evg Evg 4 Июля 2021

      Это английские слова, единственное и множественное число: topics — темы / topic — тема, аналогично в пространствах, участниках и т.д.