1

Тема: Как сделать многостраничник на 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(); ?>

Вот картинка со списком всех плагинов, что я использовал

https://image.prntscr.com/image/cZ1ilAPoSVaenuSJrg05CA.png

----

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

Вам нужно продумать какие части кода будут статические, а какие динамические (они же кастомные поля, для каждой страницы созданного вами шаблона они будут разными), куда вы будете вставлять текст, картинки и другие данные. Тут всё просто, мне 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 , где я вставлял лишь текст превьшки.

А теперь заходим во вкладку Плагины -> Специальные страницы

Где даёте имя и название, а также если нужно, то выбираете родительскую страницу и шаблон страницы, которую вы создали в папке темы для кастомной страницы во вкладке общие. Под шаблоном, я имею ввиду это

https://image.prntscr.com/image/tfb1U8B8TEG7kwBi6b8prA.jpeg

И создаёте поля нужные

https://image.prntscr.com/image/lPj49pyCSqqrCiB2BTkaWQ.jpeg

Вывод этого шаблона производится в коде страницы, что выводится в

<?php get_page_content(); ?>

Вот что использовал я:

https://image.prntscr.com/image/mJF828KqSQ26QFuNBp5ERg.jpeg

Заметьте именно это нужно вводить не в теле файла вашего шаблона template.php а на странице настроек самого плагина

Плагины-> Специальные страницы, где появляются ваши созданные типы страниц с заданными вами именами. -> при редактировании кликаете на вкладку Код Страницы и в поле HTML/PHP код для отображения страницы создаёте шаблон, также можно для хедера свойственные только этому типу страниц и подключать стили и скрипты.

То есть главное это шаблон самой страницы + компонент (в компонент вставляем поля, котоыре завязаны на шаблоне). В моём случае, есть игры у которых есть 30 спец тегов в поле ключевые слова.

Если вам нужно выводить в поле какую-то иконку или стилизований блок DIV, то нужно использовать код такого плана

<?php echo html_entity_decode(returnPageField($item->slug, 'preview-block')); ?>

Если нужно классически делать по типу статейника

https://image.prntscr.com/image/apwc8dbISgivHKNb4WXzhw.jpeg

То используйте свои настройки чего вам нужно выводить. Я делал так:

<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 дней в неделю. Почти пол года прошло, прежде, чем как добрался к какому-то описанию, как и обещал админу. Так как нужно создавать свои проекты и получать деньги с клиентов, чтобы эвакуироваться с моей любимой страны. Если, что я по большей части СЕО-шник, а не кодер, хотя в этом на уровне, ниже среднего разбираюсь, чего мне достаточно.

Поделиться