Gazmarket59.ru

Газ Маркет 59
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Счетчик посещений для modx

При разработке последнего интернет-магазина было принято решение установить его на CMS MODX Revolution. Путем перебора, для обеспечения функционала магазина было выбрано дополнение miniShop2.

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

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

Решили начать с добавления изображения для категории.

Создаем дополнительное поле

Стоит упомянуть, что работали мы на MODX Revolution версии 2.6.1-pl. Для возможности назначения своего изображения каждой категории, мы вводим дополнительное поле (Новый TV). Называем его cat_img, задаем ему тип «Изображение» и, конечно, выставляем доступность для шаблона нашей категории.

Теперь, при создании или редактировании категории мы имеем возможность добавлять/изменять изображение. Можно считать, что первая часть задачи выполнена. Теперь надо вывести список категорий в нужном нам месте и виде.

Для вывода списка категорий было принято решение использовать pdoMenu с нашими вводными — ведь нам нужен не просто список, а все это обернуть в наши блоки, привязать стили.

Создание виртуального хоста¶

Пользователи cPanel¶

cPanel автоматически внесет необходимые изменения при создании нового субдомена. Редактирование виртуальных хостов вручную не рекомендуется.

Теперь нам нужно немного поработать с Apache. (Если вы не используете Apache, вы можете, по крайней мере, следовать той же идее и настроить ее на своем сервере.) Перейдите в файл Apache httpd.conf и добавьте эти строки, меняя их, где необходимо, для вашего доменного имени:

Некоторые установки Apache предпочитают указывать IP-адрес сервера в параметрах VirtualHost и NameVirtualHost — это нормально; Важное поле — имя сервера.

Очевидно, что если вы создаете субдомен, отличный от dev.modxcms.com, вам нужно изменить эти значения.

Большой! Перезагрузите свой сервер (apachectl).

MODX работа: что включает?

Предлагая широкий набор плагинов и модулей, данная платформа подходит для реализации сайта любой величины. Причем бесплатных расширений представлено достаточное количество, что позволяет экономить финансовые расходы на покупку дополнительных инструментов. Однако, проекты CMS Модикс все же требуют найма удаленного специалиста, который сможет создать максимально функциональный веб-ресурс, полностью соответствующий своему назначению. Для работы над ним потребуется знания CSS и HTML, а также навыки программирования. Сегодня много разработчиков выбирают данный движок для работы, поэтому с подбором подрядчика проблем не возникнет. Главное, составить подробное ТЗ перед началом сотрудничества и обговорить окончательный бюджет проекта.

Читайте так же:
Счетчик импульсов arcom dh48j

Создай страницу ошибки 404, страница не существует

Как правило для этой страницы подойдет шаблон «Статические страницы», если у нее нет уникального оформления, но если ее дизайн уникален нужно создать отдельный шаблон, в этой статье я это рассматривать не буду. У меня она простая.

Создай саму страницу, с названием «Ошибка 404! Страница не существует. » и скрой ее из меню. В содержимом, можешь написать какой-то текст: объясняющий пользователю — что он ошибся при вводе ссылки, или о том, что эта страница — уже давно никому не сдалась.

В SEO-настройках, убери ее из генерации карты sitemap.xml.

Далее идешь в системные настройки и фильтруешь по категории core → Сайт, ключ error_page меняй на id только что созданной страницы.

Fenom для MODX — базовые понятия

Шаблонизатор Fenom – это надстройка для MODX Revo, включённая в состав пакета pdoTools. Позволяет полностью заменить «родные» теги MODX с увеличением скорости и удобства работы с информацией из таблиц базы данных и значительно расширить возможности шаблонизации.

Для тех, кто начинал изучение MODX по официальной документации, поначалу работа с Fenom может показаться неудобной и более сложной, а, открыв первый раз сайт на Fenom, вообще не сообразить, что и как работает.

Это быстро проходит) и, возвращаясь при необходимости к стандартным тегам, начинает не хватать возможностей парсера pdoTools.

Включение Fenom

Для того, чтобы теги Fenom начали обрабатываться в шаблонах, чанках и тексте ресурса, нужно включить следующие настройки: Системные настройкиpdotools:

Шаблонизатор имеет такую особенность – если парсер не может обработать страницу, она может выйти пустой, либо с исходными тегами. Причина пишется в Журнале ошибок. Первоначально, нужно обратить внимание на инлайновые стили и скрипты Java, потому что парсер срабатывает на фигурные скобки <> .

Читайте так же:
Потребителей снимают со счетчика

Для указания парсеру Fenom фрагментов, не подлежащих обработке, используются теги фрагмент . Помогает не всегда, это связано с особенностями работы парсера.
Часто бывает проще расставить пробелы или переносы строки после открывающей скобки и перед закрывающей.

Базовые понятия

Основные источники информации по работе с Fenom – в документации modx.pro и в исходной документации.

Желательно сразу освоить файловые элементы (официальное руководство).

Начнём с шаблонов. По умолчанию, путь к файлам core/elements (папку elements нужно будет создать). Дальше, на усмотрение, кому как удобно.

Например, создадим папки templates, chunks и snippets (в директории elements, понятное дело). Пускай базовый шаблон будет main.html (или с расширением tpl, неважно). Весь текст, соответственно, будет храниться в файле core/elements/templates/main.html .

Для связи со структурой MODX нужно будет создать обычным способом шаблон, в поле Код шаблона которого записывается ссылка на файл в виде .

Чанки и сниппеты в админ панели создавать не нужно. Файловый чанк прописывается в шаблоне через include, или insert, запуск сниппета из файла – <'@FILE snippets/cache.php' | snippet>.

В шаблонах и чанках нежелательно мешать теги Fenom со стандартными тегами, поскольку в этом случае запускается встроенный парсер MODX.

Как работает наследование и расширение шаблонов (чанков) в Minishop2 можно увидеть на примере чанков писем. Здесь 6 видов оповещений построены на 1 базовом шаблоне.

Аналоги тегов MODX

Поля текущего ресурса (теги со *): < [H1toH2] modx->resource.id> , < modx->resource.pagetitle> , < modx->resource[‘description’]> , либо < modx->resource[‘имя_тв_поля’]> и т.д. (разные варианты обращения к элементам массива

modx->resource).

Плейсхолдеры сниппета (теги с +): <$id>,

Системные настройки (теги с ++): <'site_url' | option>или < modx->config[‘site_url’]>

Ссылка на ресурс (теги с

): <88 | url>. Например, генерация абсолютной ссылки на документ с id = 88, [[++site_url]][[

выполняет объединение строк)

Поля любого ресурса:

Поля любого пользователя по его id:

Массив полей текущего пользователя

modx->user . Например, посмотреть все поля < modx->user | print>

Закомментировать теги Fenom можно так:

Разумеется, это не все возможности шаблонизатора, есть ещё масса модификаторов, полностью заменяющих «родные» теги MODX и расширяющие их функции.

Условия и циклы

Это как раз то, что меняет подход к построению страницы сайта. При всём уважении, условия в стандартном синтаксисе MODX, в особенности вложенные, напоминают фразу из «Собачьего сердца»: «Кто на ком стоял. Потрудитесь излагать Ваши мысли яснее.»

Читайте так же:
Счетчик количества посетителей ручной

Условия в Fenom задаются так же, как в большинстве языков программирования:

условие if:

использование логических И (&&), ИЛИ (||) и группировка условий (тут же пример присвоения значения переменной):

короткая запись if (тернарный оператор),

< modx->resource.longtitle ?

modx->resource.longtitle :

modx->resource.pagetitle>

или аналог стандартного default в случае пустого значения:

< modx->resource.introtext ?: ‘аннотация не заполнена’>

условие switch:

Полноценный цикл foreach:

Пример вывода дочерних ресурсов без вызова сниппета

В Fenom переменная

modx – обращение к классу microMODX, имеющему несколько очень полезных методов.

перенаправление на заданный url, либо ресурс (здесь, с id = 101) < modx->sendRedirect(101 | resource : ‘uri’)>

получение потомков документа (здесь, id документа 47, глубина вложенности 1). Поскольку возвращает массив, для наглядности показан с простым выводом на экран. < modx->getChildIds(47, 1) | print>

То же, для родителей документа

modx->getParentIds()

Получение масивов полей ресурсов без сниппета и вывод без чанка:

Этот пример показывает, как, пользуясь только средствами Fenom, вывести дочерние ресурсы, сгруппированные по родительскому документу.

Произвольная группировка товаров и порядок вывода категорий miniShop2 в корзине

Товары в корзине выводятся с помощью сниппета msCart, чанк вывода, по умолчанию, tpl.msCart. Добавленные в корзину покупки хранятся в переменной

SESSION в таком виде:

Где ключ элемента массива с покупкой, например, такой [c158d4dca43e0a30c567c0b2f415d04e] , формируется динамически при добавлении товара в корзину при помощи функции md5 следующим образом: $key = md5($id . $price . $weight . (json_encode($options))); (исходник).

Соответственно, товары в корзине выводятся по очерёдности их добавления, без учёта id товара, либо его категории.

Стандартный чанк tpl.msCart сделан на Fenom, поэтому, можно, с минимальными изменениями, задать нужную группировку и порядок вывода категорий товаров.

Чанк принимает массив товаров $products , поэтому в чанке, до цикла (это 16 строка), раскидываем общий массив на несколько массивов категорий, например, cat_15 и cat_16 , где число – id категории.

И вывод товаров из категорий:

Таким образом можно не только определить последовательность вывода категорий товаров, но и задать общий заголовок и футер товаров одной категории и использовать разное оформление.

[/H1toH2]

Как вычислить спам-трафик по прямым заходам

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

Читайте так же:
Как добавить код счетчика wix

Искажение данных в отчетах системы аналитики. Если спам-заходы занимают значимую долю в общем объеме трафика, вы не сможете получить «чистые» данные по конверсии сайта и другим важным метрикам.

Если обращений от ботов слишком много — сайт может замедлиться из-за аномальной нагрузки на хостинг (этого может доставить неудобства реальным пользователям или вовсе сделать сайт недоступным на некоторое время).

Если вы обнаружили спам-трафик, необходимо выполнить два важных действия:

Убрать данные о посещениях роботов из отчетов Яндекс.Метрики.

Закрыть ботам доступ к сайту.

1. Настройка фильтрации роботов

Чтобы исключить данные о посещении сайта роботами из отчетов Метрики, перейдите в настройки счетчика и откройте вкладку «Фильтры». Здесь вам нужно активировать опцию «Фильтровать роботов по строгим правилам и поведению».

Готово! Теперь в отчеты Метрики не будут включаться посещения роботов. Следовательно, вы получите более чистые данные и сможете принимать решения, основываясь на достоверных показателях.

Теперь переходим к следующему этапу.

2. Блокировка доступа к сайту спам-ботам

Следующий этап — закрыть доступ к сайту ботам, от которых фиксируется слишком много обращений и которые нагружают ваш сайт. Алгоритм действий следующий:

Проанализируйте IP-адреса, с которых генерируется слишком много запросов к сайту и определите приоритетные для блокировки. В ваш бан-лист должны попасть те адреса, с которых в течение короткого времени было много обращений, а все обращения характеризуются 100% показателем отказов.

Заблокируйте доступ к сайту этим IP-адресам. Для этого можно прописать в файле .htaccess такой код:

Вместо «1.1.1.1» укажите IP, который хотите заблокировать.

Важно! После того как вы сформировали список IP для блокировки, проверьте его — в списке не должно быть IP, принадлежащих Google или Яндекс. Блокировка таких адресов может обернуться потерей позиций в поисковой выдаче.

Установка информера на сайт

Простейшие методы выполнения этой операции предлагают воспользоваться:

  • FTP — в работающем по этому протоколу менеджере открывается сервер и отыскивается файл, где содержатся теги изменяемой страницы. Например, в CMS WordPress он носит название Header.php. Код счетчика посещений вставляется непосредственно под упомянутым элементом ресурса.
  • Плагином — в интернете имеется широкий ассортимент подключаемых модулей для разнообразных движков, которые инсталлируются на несколько секунд. Чтобы запустился анализ ресурса, код вставляется в опциях подключаемого модуля.
  • Google Tag Manager — После открытия этого сервиса добавляется новая учетная запись и жмется «Далее». Затем набирается имя контейнера, а также выбирается место применения анализатора (AMP, Android, iOS, сайт). После щелчка по «Создать» отобразится соглашение о применении диспетчера тегов. Когда оно подтвердится, система выдаст два фрагмента кода. Первый ставится в начале разделов интернет-ресурса, а второй — после открывающего тега. Дальше начинается инсталляция счетчика. Простейший метод предлагает импортировать контейнер через панель администратора и заменить ID в поле под названием «Значение» на свой вариант.
Читайте так же:
Рэс как устанавливают счетчик

Решение проблем

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

Очистите кэш, для этого удалите содержимое папки /core/cache вашего сайта. Саму папку cache удалять не нужно.

Проверьте права на папки и файлы, в большинстве случаев они должны быть установлены в 755 для папок и 644 для файлов. Изменить права можно через файловый менеджер в панели вашего хостинга или через FTP-клиент, но из-за большого количества файлов, процесс может растянуться по времени. Поэтому лучше всего это сделать через консоль SSH.

Для смены прав можно так же воспользоваться bash скриптом приведённым ниже. Не забудьте изменить в нём путь до вашего сайта и пользователя, использовать пользователя root небезопасно.

Если с правами все в порядке, перепроверьте, что в конфигурационном файле /core/config/config.inc.php указаны правильные данные — доступы к базе данных и пути к ядру и папкам сайта. Чаще всего проблема именно в этом.

Так же убедитесь, что в файлах указан правильный путь к ядру MODX.

  • /config.core.php
  • /connectors/config.core.php
  • /manager/config.core.php

Если выключали сайт на этапе подготовки к бэкапу, убедитесь, что включили его: Системные настройки – Сайт – Статус сайта: Да.

Попробуйте провести повторную установку, для этого:

  • в директорию сайта загрузите папку setup из установочного пакета той же версии MODX (это важно), которая используется на вашем сайте, её можно скачать на страницы загрузки с официального сайта MODX;
  • перейдите по адресу yousite.ru/setup и следуя инструкциям установщика, переустановите MODX в режиме обновления.
голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector