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
Возможно ли реализовать возможность предоплаты за доставку на сайте? В любом случаем стандартный флоу минишоп2 рассчитан на оплату по ссылке, т.е. чтобы получить информацию об оплате, нужно чтобы заказ существовал. Чтобы сделать иначе, нужно использ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 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. Такого точно не примут.
Значит надо будет методы переносить и компоновать.