ModX Примитивы

Редакция автор: stain

Итак прежде всего скажу.
В целом структура у modx продуманная, но есть вещи которые бесят пусть даже и удобны, основная проблемма в том что вместо полезного более низкоуровневого кода ты начинаешь изучать API ModX - а он иногда весьма геморойный, и в итоге ты зависишь от надстройки, которая сегодня есть а завтра или станет непотребной, платной, и просто устареет. Но для подрастающих сойдет.
Видео №4 - в него попало много особенностей сайтостроения на modx.
Полноформатный русский Howto по ModX

phx - встроенный интерпретатор php
Quick start в MiniShop2
Описание фич в MiniShop2
Все подряд в MiniShop2
Модификация цены и веса товаров в MiniShop2
Принцип работы плагинов в MiniShop2
Импорт в minishop2
Yandex money в ...
!!!Каталог с фильтрацией на modx
2013 некий велосипед, для понимания, не руководство к действию

курс1
курс2
курс3

Конфиги

\config.core.php //скорее указатель
\manager\config.core.php //скорее указатель
\connectors\config.core.php //скорее указатель
\connectors\modx.config.js.php //впечатан путь /index.php
\core\config\config.inc.php //конфиг
В одной из модифицированных версий \manager\includes\config.inc.php

перенос на другой хостинг способ годится для EVO

В данном случае описывается перенос на локальный хостинг. В статье источнике ошибка, в 7-мом пункте, выделил.
1) Копируете содержимое сайта с сервера (ваш_сайт.com папку www).
2) Вставляете ее в папку путь_папки_опен_сервер_у_вас_на_компьютере: OpenServer\domains\ваш_сайт_локальный.com\
3) Запускаете ваш опен сервер, на рабочей панели в районе часов на значке опен сервера правой кнопкой мыши -> дополнительно -> phpmyadmin
Пользователь (если ничего не меняли в настройках опен сервера): root , Пароль: (оставляем пустым)
4) Создаете пустую базу, в нее копируете содержимое файла: ваша_база_данных.sql
5) Открываете в папке файл: OpenServer\domains\ваш_сайт_локальный.com\www\manager\includes\config.inc.php
в нем меняете

$database_type = 'mysql';
$database_server = 'localhost';
$database_user = 'root';
$database_password = '';
$database_connection_charset = 'utf8';
$database_connection_method = 'SET CHARACTER SET';
$dbase = '`ваша_база_данных`';
$table_prefix = 'ваша_база_данных_'; //префикс таблиц и нижнее подчеркивание

Сохраняете.
6) Открываете в браузере: ваш_сайт_локальный.com/manager и вводите пароль как был на сервере для этого сайта для доступа к админ-панели.
7) Вкладка инструменты -> конфигурация -> Файл-менеджер: Путь для файл-менеджера - сброс
Вкладка инструменты -> конфигурация -> Файл-браузер: Путь к файлам - сброс
Сохраняете.
8) Теперь в браузере вводите:

ваш_сайт_локальный.com

9) При переносе на другой хостинг не на локальный, произошло нечто типа этого "A possible CSRF attempt was detected. No referer was provided by the server."
Решение для EVO: manager/index.php на время смены конфигурации и для выполнения 6-7го пунктов, понадобится закомментировать этот кусок кода примерно после 240-вой строчки.

// attempt to foil some simple types of CSRF attacks
if (isset($modx->config['validate_referer']) && intval($modx->config['validate_referer'])) {
	if (isset($_SERVER['HTTP_REFERER'])) {
		$referer = $_SERVER['HTTP_REFERER'];

		if (!empty($referer)) {
			if (!preg_match('/^'.preg_quote(MODX_SITE_URL, '/').'/i', $referer)) {
				$modx->webAlertAndQuit("A possible CSRF attempt was detected from referer: {$referer}.", "index.php");
			}
		} else {
				$modx->webAlertAndQuit("A possible CSRF attempt was detected. No referer was provided by the client.", "index.php");
		}
	} else {
		$modx->webAlertAndQuit("A possible CSRF attempt was detected. No referer was provided by the server.", "index.php");
	}
}

10. modx EVO Важно обратить внимание на заголовки(head) html страниц, возможно что там в теге base прописан путь к корню, кроме того дя разных страничек может быть собственный чанк заголовка(head) страниц, так что надо его везде или исправить, или закомментировать.

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


Разрядность чисел снипетом(Проверено в modx EVO)

Создаете сниппет с именем phx:numformat , я так понимаю я так понимаю прификс имеет значение, и заметьте что он не употребляется при использовании.


Использование [+price:numformat+]

было 1000000 результат 1 000 000

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.