Олег Сергеевич · 13 июля 2015, 09:48 Давно для себя написал инструкцию, чтобы ничего не забыть: 1. Cмотрим и копируем серверные пути с помощью phpinfo() 2. В админке: «Сайт» → «Обновить сайт» 3. В админке: безопасность — перезагрузить все права доступа и очистить кэш 4. В админке: безопасность — завершить все сеансы 5. Скопировать базу 6. Поменять серверные пути и название сайта в БД 7. Залить базу 8. Скопировать файлы со старого хостинга 9. Удалить всё внутри папки core/cache 10. Поменять пути и название сайта в файлах: /core/config/config.inc.php — доступы к базе, урл и пути /config.core.php /connectors/config.core.php /manager/config.core.php 11. Залить файлы на новый хостинг. После таких действий — никаких глюков. Вопросы / Перенес сайт, админка кривая 14 0 1
Василий Наумкин · 08 марта 2015, 15:25 Удаление юзера с id = 15. if ($user = $modx->getObject('modUser', 15)) { $user->remove(); } Ну, это если через админку тебя не устраивает. Вопросы / modx удаление пользователя7 2 +1 1
Михаил · 24 февраля 2015, 17:27 Для 301 с www на без www надо добавить в конфиг: server{ listen 80; server_name www.modx.kz; return 301 http://modx.kz$request_uri; } server { listen 80; server_name modx.kz; root /var/www/modx-kz/www; access_log /var/log/nginx/modx-kz-access.log; error_log /var/log/nginx/modx-kz-error.log; index index.php; rewrite_log on; location /core/ { $ deny all; $ } location / { try_files $uri $uri/ @rewrite; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass backend-modx-kz; } location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ { access_log off; expires 10d; break; } location ~ /\.ht { deny all; } } Хостинг / Правильный хостинг для MODX Revolution 226 0 1
Максим Кузнецов · 31 января 2015, 21:35 Помогу с решением. Вызываем сниппет Login: [[!Login? &loginTpl=`fastLoginTpl` &errTpl=`fastLoginError`]] Чанк формы для авторизации fastLoginTpl: <div style="display: none;" id="authErrors">[[+errors]]</div> <form class="loginForm" id="iWannaLogin" action="[[~[[*id]]]]" method="post"> <div class="login"> <input id="loginForm" name="username" class="roundInput" type="text" placeholder="Логин" title="Ваш логин"> </div> <div class="password"> <input id="passwordForm" name="password" class="roundInput" type="password" placeholder="Пароль" title="Ваш пароль"> </div> <input class="returnUrl" type="hidden" name="returnUrl" value="[[+request_uri]]" /> <input class="loginLoginValue" type="hidden" name="service" value="login" /> <div class="submit"> <a rel="nofollow" href="[[~17]]">Я - тупой, забыл пароль..</a> <input id="ajaxLoginButton" type="submit" name="Login" value="Войти" /> </div> </form> Чанк для вывода ошибки fastLoginError: [[+msg]] Скрипт js, обрабатывающий событие отправки формы (нужен подключенный jquery): <script type="text/javascript"> $(document).ready(function(){ $("#iWannaLogin").bind("submit", function() { $("#authErrors").text(""); //здесь можно допилить подсветку полей с ошибкой if ($("#loginForm").val().length < 1 && $("#passwordForm").val().length < 1) { $.jGrowl("Введите логин и пароль", {group: "m-Error"}); return false; } if ($("#loginForm").val().length < 1) { $.jGrowl("Введите логин", {group: "m-Error"}); return false; } if ($("#passwordForm").val().length < 1) { $.jGrowl("Введите пароль", {group: "m-Error"}); return false; } $.ajax({ type: "POST", cache: false, url: "[[~[[*id]]]]", data: $(this).serializeArray(), beforeSend: function(){ $("#ajaxAuth .closeBlock").css("display", "none"); $("#ajaxAuth .ajaxLoad").css("display", "block"); $("#ajaxLoginButton").prop("disabled", true); }, success: function(data) { $("#ajaxAuth .closeBlock").css("display", "block"); $("#ajaxAuth .ajaxLoad").css("display", "none"); var errMessage = $(data).find("#authErrors").text(); if(errMessage == ""){ window.location = "адрес для переадресации при успешной авторизации"; } else{ $("#authErrors").text(errMessage); $.jGrowl($("#authErrors").text(), {group: "m-Error"}); } }, complete: function(){ $("#ajaxLoginButton").prop("disabled", false); } }); return false; }); }); </script> — я еще подключил плагин jgrowl для отправления алертов. В его же вызове group: «m-Error» — класс для всплывающего бокса (красный, с ошибкой). Если jgrowl не нужен — то вместо него вставляем в поле для ошибок желаемый ответ. Пример: $("#authErrors").text("текст ошибки").css("display", "block"); #ajaxAuth .ajaxLoad — в моем примере форма с индикатором загрузки, которая появляется при обработке аякс-запроса. Вопросы / AjaxForm и Login 13 +3 5
Илья Уткин · 02 октября 2014, 13:53 Раз — «как зайти на сервер crontab -e»Два — «что такое crontab»Три — «как зайти на сервер по ssh» Вопросы / Кэш сайта огромен - как исправить? 8 +2 2
Василий Наумкин · 28 сентября 2014, 17:51 Зайти на сервер, там crontab -e И добавить команду 10 1 * * * rm -rf /home/твойлогин/www/core/cache Сохранить и выйти — кэш будет удаляться в 1:10 по времени сервера, каждые сутки. Вопросы / Кэш сайта огромен - как исправить? 8 +1 2
Василий Наумкин · 29 мая 2014, 16:19 &where=`{"createdon:>":"2014-01-01 00:00:00"}` Вопросы / Выборка за текущий год, месяц. 23 +3 2
Andrei D. · 23 апреля 2014, 19:52 Попросили сделать архив не фильтром, а отдельной страницей для каждого года, вот пример выборки мероприятий за 2010 год: [[!pdoPage? &element=`getTickets` &parents=`38` &includeTVs=`program-start` &tpl=`program-list-ru` &where=`["program-start BETWEEN \"2010-01-01\" AND \"2010-12-31\""]` &sortby=`program-start` &sortdir=`DESC` ]] Вопросы / Выборка pdoPage where по дате 12 0 2
Василий Наумкин · 11 сентября 2013, 05:37 Плагин на OnLoadWebDocument. При запросе проверять дату создания, и если больше 7 дней — удалять или отключать ресурс и отправлять на главную или на 404. То есть, юзеры сами будут инициировать отключение, cron не нужен. Вопросы / Автоматическое удаление 4 0 2
Denys Butenko · 10 октября 2012, 11:58 Для своих нужд изменял скрипт, сделал, чтобы при бэкапе пропускались директории /site/assets/cache — в которой хранятся phpthumbof кешированные картинки, /site/core/cache — системный кэш, /site/core/package — где хранятся архивы и распакованные пакеты. Размер бэкапа уменьшился на 60%. Хостинг / Сервер: резервное копирование и выгрузка в Dropbox 58 0 1
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
1. Cмотрим и копируем серверные пути с помощью phpinfo()
2. В админке: «Сайт» → «Обновить сайт»
3. В админке: безопасность — перезагрузить все права доступа и очистить кэш
4. В админке: безопасность — завершить все сеансы
5. Скопировать базу
6. Поменять серверные пути и название сайта в БД
7. Залить базу
8. Скопировать файлы со старого хостинга
9. Удалить всё внутри папки core/cache
10. Поменять пути и название сайта в файлах:
/core/config/config.inc.php — доступы к базе, урл и пути
/config.core.php
/connectors/config.core.php
/manager/config.core.php
11. Залить файлы на новый хостинг.
После таких действий — никаких глюков.
Ну, это если через админку тебя не устраивает.
Вызываем сниппет Login:
Чанк формы для авторизации fastLoginTpl:
Чанк для вывода ошибки fastLoginError:
Скрипт js, обрабатывающий событие отправки формы (нужен подключенный jquery):
— я еще подключил плагин jgrowl для отправления алертов. В его же вызове group: «m-Error» — класс для всплывающего бокса (красный, с ошибкой).
Если jgrowl не нужен — то вместо него вставляем в поле для ошибок желаемый ответ. Пример:
#ajaxAuth .ajaxLoad — в моем примере форма с индикатором загрузки, которая появляется при обработке аякс-запроса.
И добавить команду
Сохранить и выйти — кэш будет удаляться в 1:10 по времени сервера, каждые сутки.
При запросе проверять дату создания, и если больше 7 дней — удалять или отключать ресурс и отправлять на главную или на 404.
То есть, юзеры сами будут инициировать отключение, cron не нужен.