27 декабря 2013, 06:54 Отлично, значит это не у меня проблема и всё сделал правильно. Спасибо! И по мне так проблема надуманная.Ок, дайте мне ссылку на какой-нибудь статичный html-сайт, который есть в топах по вкусным запросам — я его мигом оттуда выкину :-) И да, такие сайты есть. И есть они потому, что делались давно и со временем начали занимать хорошие позиции в поиске. Не обновляют их по простой причине — чтобы позиции не попортить, «а то мало ли...» :-) Вопросы / Nginx и двойные слэши в урл 8 0
17 декабря 2013, 22:21 Эмм… Это как без php?? Курс по созданию ms2? Без php? Инструкция про грамотной сборке и настройке? Вопросы / Советы по оптимизации скорости загрузки страницы 6 0
17 декабря 2013, 01:21 На счёт лексиконов точно не скажу, но чанки — да, не перезаписываются. Их надо вручную обновлять. p.s. что это с комментатором выше? Вопросы / Перезапись чанков и т.д. 8 0
11 декабря 2013, 22:19 Вы хоть отпишитесь — помогло или нет. Интересно же =) Вопросы / отдельная страница сайта на MODx не из ресурсов 12 0
08 декабря 2013, 21:59 Такой вариант (сперва распишу по пунктам, потом объясню логику): 1. Создать настройку, назвать её, к примеру, «mycomponent.frontend_page» (где «mycomponent» — это название вашего компонента). 2. Создать один ресурс, в котором планируется вывод данных из вашей таблицы или взять уже существующий. К примеру, возьмём главную страницу сайта (id главной = 1). 3. Запишем в вышесозданную настройку цифру «1». И вот теперь надо написать плагин на событие «OnPageNotFound». Логика его такова: 1. Разбираем урл. Примерно так: // получаем массив с частями урла $arr = parse_url($_SERVER['REQUEST_URI']); // Регулярка, которая выберет все названия "папкок" из урла. // К примеру урл имел вид http://www.site.ru/first1/second2/?sfgdg=tyu5466t35&qer=456#thisIsHash // В $arr['path'] лежит строка вида "/first1/second2/" // С помощью данной регулярки и функции preg_match_all мы получим массив, содержащий элементы: // "first1", "second2", "third3" (в том порядке, в котором они были в урле). // $mask = "/([^\/]+)/"; preg_match_all($$mask, $arr['path'], $matches); $pathes = $matches[0]; // Проверяем количество, чтобы отсечь заведомо другие урлы, в которых папок больше, чем нам нужно // (а нужно нам "АлиасВида/АлиасКарточки") // Не ноль и меньше 2х if (count($pathes) && count($pathes) <= 2) { $i = 0; $good = false; foreach ($pathes as $path) { /** * и вот здесь логика такая: * на нулевом шаге ищем нужным нам "алиас вида" в собственной таблице (не забываем свой пакет через $modx->addPackage()). * */ switch ($i) { case 0: // здесь пишем название своего класса $vid = $modx->getObject('Vid', array( 'alias' => $path )); if ($vid instanceof 'Vid') { $good = true; $aliasVid = $path; // устанавливаем глобальный плейсхолдер, который будет доступен в шаблоне как [[+aliasVid]], // который можно будет использовать как угодно (например, подставить в условие сниппета pdoTools) $modx->setPlaceholder('aliasVid', $aliasVid); } else { break 2; // выходим из switch И ИЗ ЦИКЛА foreach (http://www.php.net/break) } break 1; // выходим из switch case 1: // здесь всё по аналогии, за исключением $good $kart = $modx->getObject('Kart', array( 'alias' => $path )); if ($kart instanceof 'Kart') { $aliasKart = $path; $modx->setPlaceholder('aliasKart', $aliasKart); } break; } $i++; } if ($good) { // если есть совпадения алиасов, то грузим документ, который записан в настройке $docId = $modx->getOption('mycomponent.frontend_page'); if (!$docId) return; $modx->resource = $modx->getObject('modResource', $docId); $modx->request->prepareResponse(); exit; } }Код не проверялся вообще! Используйте его как пример логики (которая, кстати, тоже может быть не верной :-)). Удачи! Вопросы / отдельная страница сайта на MODx не из ресурсов 12 0
20 ноября 2013, 23:20 Дак это ж нотисы обычные. Если сайт не работает, то явно не из-за этих ошибок. Хостинг / Правильный хостинг для MODX Revolution 2 488 0
20 ноября 2013, 20:50 Выбирал убунту 12.04 (версия без .1 или .3 на конце). Так что не знаю — тебе виднее :) Спасибо! Хостинг / Правильный хостинг для MODX Revolution 2 488 0
20 ноября 2013, 20:43 Не, я точно ничего не пропускал (я надеюсь)). И ещё вопрос можно, пока ты не ушёл?) В файле /etc/rc.local, в котором указывается путь к файлу iptables, у меня на чистой системе было следующее: test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server exit 0Т.е. вот я понятия не имею, что значит первая строка и нужна ли она вообще? Путь к iptables прописал после неё: Оставить как есть или удалить её? p.s. хостинг — DigitalOcean p.p.s. потому что у линоды самый дешёвый тариф дороже, чем самый дешёвый у DO, а мне много пока не надо) Хостинг / Правильный хостинг для MODX Revolution 2 488 0
20 ноября 2013, 20:32 Хм, просто у тебя в ролике на 9:55 видно, что письмо упало от root@bencard.ru, хотя письмо так же было отправлено из консоли. Хостинг / Правильный хостинг для MODX Revolution 2 488 0
20 ноября 2013, 20:26 У меня sendmail отправляет письма с адреса root@localhost.ru, хотя всё сделал по инструкци :( Хостинг / Правильный хостинг для MODX Revolution 2 488 0
11 октября 2013, 01:30 А ещё есть такая шляпа, что юзер будет залогиненым до конца отработки приложения и разлогиненным он станет, грубо говоря, при нажатии F5. Т.е. в каком-то сниппете юзера разлогиниваем и следом проверяем $modx->user->isAuthenticated(); — будет работать. А вот при следующем обращении к странице юзер с самого начала уже будет разлогиненным (анонимом). Чтобы этого избежать надо принудительно после логаута написать: $modx->user = null;У меня когда-то такой же вопрос был, обсуждали как-то с Василием. Лень искать :-) Но выход, как оказалось, только такой. upd. во, нашёл. Вопросы / Странное поведение процессора Logout 5 0
01 октября 2013, 00:37 Эт где это так случайно попадаются платные пакеты? Магазин дополнений / Закачки без авторизации 14 0
21 сентября 2013, 23:59 'selected' передаёшь, но ни где не выводишь? А если вот так: <input id="[[+id]]" type="radio" value="[[+value]]" name="sized" [[+selected]] /> <label for="[[+id]]">[[+value]]</label>? Вопросы / Параметры в корзину 3 0
20 сентября 2013, 01:13 Прото есть разница между локальными и глобальными политиками) Вопросы / [Решено] Почему политики доступа видны не все? 5 0
19 сентября 2013, 10:17 Пока завёл баг в трекере. Как у себя логику проработаю — буду им потом pull-r выкатывать. Вопросы / Стандартные процессоры resource/update/publish/delete и непонятки с publishedon/deletedon 4 0
19 сентября 2013, 08:57 А с точки зрения организации кода — можно ли запускать процессор из процессора? Такого в родных процессорах я вроде не встречал и этого могут не принять. Да и, скорей всего, это будет не правильно — ведь в процессорах на (un)publish/delete в конце чистится кеш, ставятся/снимаются блокировки — всё это и так делается в процессоре на update. Такого точно не примут. Значит надо будет методы переносить и компоновать. Вопросы / Стандартные процессоры resource/update/publish/delete и непонятки с publishedon/deletedon 4 0
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
Ок, дайте мне ссылку на какой-нибудь статичный html-сайт, который есть в топах по вкусным запросам — я его мигом оттуда выкину :-)
И да, такие сайты есть. И есть они потому, что делались давно и со временем начали занимать хорошие позиции в поиске.
Не обновляют их по простой причине — чтобы позиции не попортить, «а то мало ли...» :-)
p.s. что это с комментатором выше?
1. Создать настройку, назвать её, к примеру, «mycomponent.frontend_page» (где «mycomponent» — это название вашего компонента).
2. Создать один ресурс, в котором планируется вывод данных из вашей таблицы или взять уже существующий.
К примеру, возьмём главную страницу сайта (id главной = 1).
3. Запишем в вышесозданную настройку цифру «1».
И вот теперь надо написать плагин на событие «OnPageNotFound». Логика его такова:
1. Разбираем урл. Примерно так:
Код не проверялся вообще!
Используйте его как пример логики (которая, кстати, тоже может быть не верной :-)).
Удачи!
Спасибо!
И ещё вопрос можно, пока ты не ушёл?)
В файле /etc/rc.local, в котором указывается путь к файлу iptables, у меня на чистой системе было следующее:
Т.е. вот я понятия не имею, что значит первая строка и нужна ли она вообще? Путь к iptables прописал после неё:
Оставить как есть или удалить её?
p.s. хостинг — DigitalOcean
p.p.s. потому что у линоды самый дешёвый тариф дороже, чем самый дешёвый у DO, а мне много пока не надо)
У меня когда-то такой же вопрос был, обсуждали как-то с Василием. Лень искать :-) Но выход, как оказалось, только такой.
upd. во, нашёл.
А если вот так:
?
Такого в родных процессорах я вроде не встречал и этого могут не принять.
Да и, скорей всего, это будет не правильно — ведь в процессорах на (un)publish/delete в конце чистится кеш, ставятся/снимаются блокировки — всё это и так делается в процессоре на update. Такого точно не примут.
Значит надо будет методы переносить и компоновать.