Тема: Как сделать многостраничник на GetSimple под статейник или новостник?
Как сделать многостраничник на GetSimple под стейник или новостник с использованием кастомных страниц, они же Custom Field?
Речь пойдёт о том, какие есть альтернативы движкам Word Press, Joomla, MODX, если нужно делать кастомные карточки статей или новостей, и при этом не нужно много функционала и не нужна тяжеловестность со сложностью, которая присуща известным движкам.
И зачем ставить комбайн, если можно обойтись простым решением.
(Гайды и руководства редко пишу, и это выглядит больше, как фристайл.)
Сам занимаюсь клиентским SEO, Front-End, Back-End, Разбираюсь с WP и рядом простых движков вод PBN, умею верстать и немного разбираюсь в PhP. Но главная специализация - это развёртывание сеток сателлитов и PBN для серых тематик. И немного делаю свои сайты в белых тематиках.
И так...
На примере своего личного сайта https://kulakgame.com/ который создавался, как СДЛ на тематику бесплатные онлайн игры, где монитизация под партнёрки выполнена.
Суть такова, нужен был простой сайт в управлении с минимальными временными затратами на Back-End. При условии, что готова вёрстка и при условии, что знаешь, как действовать, то времени уходит 10 минут.
Самое первое это нужно определиться с функционалом, если возможности CMS GetSimple подходит.
Что нужно было мне:
(Всё скачивал с сайта администратора форума, так как всё русифицировано и настроено для работы) вот ссылка на список плагинов http://getsimplecms.ru/razrabotchikam/p … simple-cms
1) Поиск - I18N + I18N Search + I18N Base
2) Галерея - I18N Gallery
3) Контакты (самая простая форма обратной связи, но её нужно настраивать самому по верстке и коду пхп) - http://getsimplecms.ru/plaginy-dlya-get … e-contact/
4) Комментарии, можно использовать встроенные, но на более ранних версиях GetSimple, и там их визуально нужно подгонять под свой дизайн, они изначально, словно передают привет с начала 2000-ых. Использовал плагин External Comments и выбирал дискус, так как он самый приемлемый, бесплатный и легко настраивается и есть админка для утверждения комментариев.
5) Мультиюзер для добавления контента несколькими людьми, для меня удобно, когда у админа свой акаунт, а у публикатора свой. Multi User использовал.
6) Также мне нужно было вывод рандомных игр по типу, лично мне нужно было чтобы геймер мог выбрать для себя что-то из двух основных категорий, как клиентские и браузерные. Использовал Random Content. Но сложность в чём, нужно уже готовую превьюшку карточки игры с её кодом скопирвоать и вставить в специальный контейнер, который привязать нужно для определённой категории. А код встраивает в код шаблона с выводом необходимой категории. Тут как в WP рандомно с категории или похожи нет. Можно выводить список последних новостей или статей, но мне не было нужно так.
7) Карта сайта встроенная генерируется и как надо, но я лишь в коде убирал дату публикации, так как в моём случае это на ранжирование влияет, поисковой робот при прочих равных предпочтение более новой страничке отдаст. Но чтобы с индекса можно было убирать при помощи метатегов какие-то страницы я использовал плагин MetaRobots, там у любой страницы появляется соответственный чекбокс. Также нужно с карты сайта убирать такие страницы, вот мини плагин MetaRobots - Sitemap patch.
8) Лично мне нужен был https и я использовал Force HTTPS, чтобы везде в url это добавлялось. Также если знаете php, то можно справится без него.
9) Spoiler Plugin – это кнопка спойлеров, помещаете, что вам нужно в контейнер и при нажатии на кнопку спойлера, содержимое появляется. Можно сделать также, как текст, по типу, как читать далее.
10) Стандартная тема админки мне не нравилась и я поставил плагин Интерфейс MSadmin
11) Дополнительные меню, я ставил при помощи плагина Custon Menu http://getsimplecms.ru/plaginy-dlya-get … tom-menu/, далее хуки или шорт коды ставите, там где вам нужно.
12) GST AdminLock – это защита чтобы спрятать доступ к админке, адрес site.com/admin меняется на site.com/admin?codeword=codeanswer
13) И самое главное для меня это I18N Special Pages + I18N Special Pages extras, что позволяет делать любой вывод карочке страниц для превью. Но нужно активировать I18N Base и не обновлять его и заменить стандартный код вывода метагов в хедере на другой, вот он
<?php function_exists('get_i18n_header') ? get_i18n_header(true,array('generator')) : get_header(); ?>
Вот картинка со списком всех плагинов, что я использовал
----
Изначально я хотел расписать всё более подробно по каждому пункту, но получится дикая простыня текста. И так как вставлять все составные сайта по стандарту сможет каждый, это поиск, комментарии и прочее. Я распишу подробно, как я думаю, вывод кастомных полей.
Вам нужно продумать какие части кода будут статические, а какие динамические (они же кастомные поля, для каждой страницы созданного вами шаблона они будут разными), куда вы будете вставлять текст, картинки и другие данные. Тут всё просто, мне olsv64 подсказал и я разобрался. Хотя очевидные вещи для меня изначально не были таковыми.
1) Нужно установить все необходимые плагины и в хедер вставить этот код
<?php function_exists('get_i18n_header') ? get_i18n_header(true,array('generator')) : get_header(); ?>
2) На странице категории или под категории можно выводить определённый тег или же родительскую страницу _parent_(родительская страница). ПО этой ссылке http://getsimplecms.ru/plaginy-dlya-get … 8n-search/ можно узнать все функции и возможности. Но чтобы позиционировать плиткой, а не листом карточки, нужно настроить отображения блоков результатов поиска для такого вывода. Так как такая функция компонентов базируется на плагине I18N Search. Tags прорисуються в поле ключевые слова, где теги для категории нужно заранее прописать в файле exel, чтобы заранее знать куда их копировать. Так дела я, по времени, это всё равно, что галочки в WP напротив категорий выставлять.
вот для категории в теле самого документа, что вы создаёте в админке, прописуете такое, я создавал отдельное поле в шаблоне категории для написания данной строки, чисто для удобства.
<div class="mcb">
(% searchresults tags='_browser-games' component='g-component-preview-game' max='39' %)
</div>
class="mcb" – это блок, где находятся карточки превью, так сказать контейнер.
tags='_browser-games' – это теги, можно вписать несколько, tags='_(сам тег)' нижнее подчёркивание перед тегом обязательное. Чтобы по тегам выводить на какой-то странице категории ваши статьи/карточки, то нужно чтобы они были в поле ключевые слова, там тоже перед тегом должно быть нижнее подчеркивание и только на английском
component='g-component-preview-game' – это главная часть, где подключается визуальная часть. Находится во вкладке Тема -> Редактировать компоненты, где создаёте нужный для себя компонент.
max='39' – это максимальное количество вывода превьюшек до появления пагинации
showPaging='0' – это отключает появление пагинации и появления страниц в URL по типу mysite.com/brauzernye?page=2, что удобно, если выводить нужно, например, в каких местах по типу последние новости и прочее, чтобы пользователь, выдел только самые последние обновления. У меня так на главной сделано.
А теперь к компоненту, в него можно запихнуть что угодно и вывести где угодно таким образом, просто в шаблоне прописуете.
<?php get_component('g-component-preview-game'); ?>
У меня простая карточка для ревьюшки. Где есть ссылка и картинка, я в кастомных полях выбираю только картинку и название.
<div class="block-default">
<a href="<?php echo htmlspecialchars($item->link, ENT_NOQUOTES); ?><?php get_special_field('link','',true); ?> "><img src="<?php echo htmlspecialchars(returnPageField($item->slug, 'img-preview-game')); ?> "></a>
<div class="name-game"> <a href="<?php echo htmlspecialchars($item->link, ENT_NOQUOTES); ?><?php get_special_field('link','',true); ?>"><?php echo htmlspecialchars(returnPageField($item->slug, 'name-game-review')); ?></a></div>
</div>
<a href="<?php echo htmlspecialchars($item->link, ENT_NOQUOTES); ?><?php get_special_field('link','',true); ?>(тут код картинки)</a>
- это адрес URL ссылки
<img src="<?php echo htmlspecialchars(returnPageField($item->slug, 'img-preview-game')); ?>
- это часть кода, где выводится адрес картинки, адрес появляется в поле img-preview-game
Та же самая история и с названием, где есть URL , где я вставлял лишь текст превьшки.
А теперь заходим во вкладку Плагины -> Специальные страницы
Где даёте имя и название, а также если нужно, то выбираете родительскую страницу и шаблон страницы, которую вы создали в папке темы для кастомной страницы во вкладке общие. Под шаблоном, я имею ввиду это
И создаёте поля нужные
Вывод этого шаблона производится в коде страницы, что выводится в
<?php get_page_content(); ?>
Вот что использовал я:
Заметьте именно это нужно вводить не в теле файла вашего шаблона template.php а на странице настроек самого плагина
Плагины-> Специальные страницы, где появляются ваши созданные типы страниц с заданными вами именами. -> при редактировании кликаете на вкладку Код Страницы и в поле HTML/PHP код для отображения страницы создаёте шаблон, также можно для хедера свойственные только этому типу страниц и подключать стили и скрипты.
То есть главное это шаблон самой страницы + компонент (в компонент вставляем поля, котоыре завязаны на шаблоне). В моём случае, есть игры у которых есть 30 спец тегов в поле ключевые слова.
Если вам нужно выводить в поле какую-то иконку или стилизований блок DIV, то нужно использовать код такого плана
<?php echo html_entity_decode(returnPageField($item->slug, 'preview-block')); ?>
Если нужно классически делать по типу статейника
То используйте свои настройки чего вам нужно выводить. Я делал так:
<div class="post-news">
<a class="title-post-news" href="<?php echo $item->link; ?>">
<?php echo htmlspecialchars(getExcerpt($item->title, $numWords=60)); ?></a>
<div class="date-novost">Опубликовано: <?php get_page_date('d-m-Y'); ?><!--<?php echo htmlspecialchars(returnPageField($item->slug, 'date-news-intro')); ?>--></div>
<div class="main-post-news">
<p><a class="title-post-img-news" href="<?php echo htmlspecialchars($item->link, ENT_NOQUOTES); ?><?php get_special_field('link','',true); ?>">
<img src="<?php echo htmlspecialchars(returnPageField($item->slug, 'preview-img-page')); ?>"/>
</a><?php echo htmlspecialchars(getExcerpt($item->content, $numWords=250)); ?>
<a class="button-post-news" href="<?php echo $item->link; ?>">Читать далее</a></p>
</div>
</div>
Скажу сразу, верстка сделана не только этого блока, но и самого сайта “по каличному”, касательно позиционирования
<?php echo htmlspecialchars(getExcerpt($item->title, $numWords=60)); ?>
- это тайтл статьи, новости, обзора на игру и т.д, где указывается вывод символов, после чего идёт троеточие...
Далее картинка превьюшка
<?php echo htmlspecialchars(getExcerpt($item->content, $numWords=250)); ?>
- это вывод первого абзаца, где указывается количество символов.
Далее кнопка читать далее, в которой просто вшита ссылка на URL
Объяснял, как мог. Если будут какие-то вопросы, задавайте, буду периодически отвечать на что смогу. Загружен по 12-14 часов 7 дней в неделю. Почти пол года прошло, прежде, чем как добрался к какому-то описанию, как и обещал админу. Так как нужно создавать свои проекты и получать деньги с клиентов, чтобы эвакуироваться с моей любимой страны. Если, что я по большей части СЕО-шник, а не кодер, хотя в этом на уровне, ниже среднего разбираюсь, чего мне достаточно.