08 марта 2013, 00:35 Не, return false это такая коварная штука, которая помимо предотвращения действия по умолчанию, ещё и останавливает «всплытие» события по DOM. А иногда это бывает ой как не хорошо. Лучше уж сферическое «e.preventDefault(); не во всех браузерах правильно срабатывает», чем долгий и нудный поиск бага на тему — почему же закрывается js-модальное окно или кастомный комбобокс… Кстати, лично вы встречали какие-либо проблемы при использовании e.preventDefault()? Я лично нет (даже в ишаках, включая 7й), хотя верстаю много и (возможно) профессионально. Для разработчиков / Основы Ajax 86 0
05 марта 2013, 18:43 чорд, когда писал свой коммент, не видел, что уже ответили… надо чаще обновлять страницу. Вопросы / аналог Rowboat 4 0
05 марта 2013, 18:13 2. Чтобы работал такой функционал, надо использовать getResource вместо getTickets. В вызове getResource надо выставить параметры [[getResource? ... &showHidden=`1` &includeContent=`1`]]При &includeContent=`1` дополнительно заработают плейсхолдеры [[+date_ago]], [[+comments]], [[+views]]. Конечно, с getResource'ом будет сильно медленнее. По поводу пунктов 3 и 4 — раз вы уже знаете где и что можно исправить в сниппетах — не ждите, вносите изменения и отправляйте pull request в репозиторий Тикетов. Быстрее появится в релизе :-) Вопросы / Пожелания по Tickets 3 0
05 марта 2013, 18:03 Вообще, такой запрос составить легко (даже очень просто). Нужны минимальные знания sql. Но чтобы вам помочь, надо знать — какой тип данных вы используете для хранения даты в таблице? Вопросы / Выбора ресурcа в зависимости от параметра TV 3 0
05 марта 2013, 18:01 Если не хотите писать запрос руками, то юзайте pdoTools Василия. pdoTools — это такой конструктор запросов. В нём можно присоединять сколько вам угодно таблиц, использовать сортировки и всё-всё-всё. Описание ищите здесь на сайте. Вопросы / аналог Rowboat 4 0
22 февраля 2013, 13:27 ок, понял. спасибо) Вопросы / Вопрос про MODX Contributor’s License Agreement 2 0
20 февраля 2013, 17:47 Да это понятно) Было бы удивительно, если бы его не было :-) Это ж nginx! Просто времени с этим разбираться пока нету, а переезд будет не завтра и не послезавтра. Поэтому изучение nginx'а пока откладываю. А вот решение с кроном уже сейчас нужно. Вопросы / Защита скрипта, предназначенного для крона, от случайного запуска из вне 18 0
20 февраля 2013, 15:07 Это смотря что вы имеете ввиду под апи с токенами для входа. Сходу сказать не могу — потому что реализаций море и у всех по своему. Поэтому пример немного не корректен. Если бы вы конкретный пример привели, можно было бы посмотреть) Вопросы / Защита скрипта, предназначенного для крона, от случайного запуска из вне 18 0
20 февраля 2013, 14:46 Ну это вообще не защита :-) Такой адрес запишется во все логи по всей цепочке «пользователь» => «сервер». В том числе всякими Яндекс.Недобраузерами и иже с ними, роботы которых любят посещать проснифанные урлы на предмет индексации. Так что это вообще не выход) Вопросы / Защита скрипта, предназначенного для крона, от случайного запуска из вне 18 0
20 февраля 2013, 14:41 Про паролирование через htaccess и htpasswd знаю и пользуюсь, да. Но планирую слезать с апача. А nginx пока не знаю. С ним ещё только буду разбираться. Поэтому такой вариант не особо рассматриваю. Но спасибо, что напомнили :-) Вопросы / Защита скрипта, предназначенного для крона, от случайного запуска из вне 18 0
20 февраля 2013, 13:31 Вы безусловно правы, но не везде есть возможность использовать putty. Да и с планшета/мобильника куда проще сперва залогиниться, а потом открыть файл, чем искать и настраивать ssh-клиенты для ондроеда и иос) Ну это уже больше прихоти, конечно :-) Да к тому же, не сильно влияющие на конечную безопасность. Да и не такой уж и большой огород :-) if ($modx->user->id != 1 && !XPDO_CLI_MODE) { header('HTTP/1.1 404 Not Found'); exit; } if (!XPDO_CLI_MODE) set_time_limit(0); Вопросы / Защита скрипта, предназначенного для крона, от случайного запуска из вне 18 0
20 февраля 2013, 13:03 Так серверной авторизации-то и не надо. Из командной строки сервера этот скрипт смогу запустить только я (и крон). А вот из браузера не только я. Поэтому отсекаем всех, кто не из консоли и кто запускает скрипт через веб-сервер, кроме авторизованного юзера с id администратора. который залогинен: if ($modx->user->id != 1 && !XPDO_CLI_MODE) { // ...Просто может есть ещё какие-то тонкости, о которых я не подумал? Вопросы / Защита скрипта, предназначенного для крона, от случайного запуска из вне 18 0
20 февраля 2013, 12:51 И так, и так. Представьте ситуацию, что есть некий сайт, который предоставляет некое апи для доступа к своим данным, которые периодически обновляются. Заранее об обновлениях неизвестно, да и обновления не такие уж и частые. Поэтому пишем скрипт для работы с этим апи, чтобы проверять обновления данных и отображать их у себя, ставим в крон, к примеру раз в сутки в ночное время, когда нагрузка на сервер небольшая. А может быть и раз в двое суток — обновления-то не частые. Но вот я заметил, что произошло обновление этих данных на том самом сайте и мне не за чем ждать до ночи, чтобы эти обновления увидеть у себя. А то и до ночи следующего дня. Тогда я просто логинюсь в админку, открываю в браузере свой файл и, собственно, вуаля :-) Вопросы / Защита скрипта, предназначенного для крона, от случайного запуска из вне 18 0
20 февраля 2013, 12:26 ну когда ip домашнего компа — динамика, да ещё и с частыми реконнектами, то не выход) Вопросы / Защита скрипта, предназначенного для крона, от случайного запуска из вне 18 0
20 февраля 2013, 12:00 Т.е. смысла городить собственные велосипеды нету? Вопросы / Защита скрипта, предназначенного для крона, от случайного запуска из вне 18 0
20 февраля 2013, 11:20 Не за что) Сам в итоге «ниасилил» — времени не хватает, но думаю к ext'у ещё вернусь. Может хоть вам пригодится) Вопросы / ExtJS для Modx 5 0
20 февраля 2013, 06:10 уж не знаю, почему вас в гугле забанили, но вот: ExtJS-4 с самого начала Ext4 Grid на пальцах Офф. доки Ну и, конечно же, здесь. Только учтите, что в ModX испольуется ExtJS-3, а первые 2 ссылки выше о ExtJS-4. А это большая разница. Но в целом для ознакомления пойдёт) Вопросы / ExtJS для Modx 5 0
14 февраля 2013, 23:36 Средства modx здесь не при чём. Простой яваскрипт. Этот код вставить в месте, где нужно вывести ссылку: <script> var Base64={_keyStr:'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',encode:function©{for(var a='',d,b,f,g,h,e,i=0,c=Base64._utf8_encode©;i<c.length;)d=c.charCodeAt(i++),b=c.charCodeAt(i++),f=c.charCodeAt(i++),g=d>>2,d=(d&3)<<4|b>>4,h=(b&15)<<2|f>>6,e=f&63,isNaN(b)?h=e=64:isNaN(f)&&(e=64),a=a+this._keyStr.charAt(g)+this._keyStr.charAt(d)+this._keyStr.charAt(h)+this._keyStr.charAt(e);return a},decode:function©{for(var a='',d,b,f,g,h,e=0,c=c.replace(/[^A-Za-z0-9\+\/\=]/g,'');e< c.length;)d=this._keyStr.indexOf(c.charAt(e++)),b=this._keyStr.indexOf(c.charAt(e++)),g=this._keyStr.indexOf(c.charAt(e++)),h=this._keyStr.indexOf(c.charAt(e++)),d=d<<2|b>>4,b=(b&15)<<4|g>>2,f=(g&3)<<6|h,a+=String.fromCharCode(d),64!=g&&(a+=String.fromCharCode(b)),64!=h&&(a+=String.fromCharCode(f));return a=Base64._utf8_decode(a)},_utf8_encode:function©{for(var c=c.replace(/\r\n/g,'\n'),a='',d=0;d<c.length;d++){var b=c.charCodeAt(d);128>b?a+=String.fromCharCode(b):(127<b&&2048>b?a+=String.fromCharCode(b>> 6|192):(a+=String.fromCharCode(b>>12|224),a+=String.fromCharCode(b>>6&63|128)),a+=String.fromCharCode(b&63|128))}return a},_utf8_decode:function©{for(var a='',d=0,b=c1=c2=0;d<c.length;)b=c.charCodeAt(d),128>b?(a+=String.fromCharCode(b),d++):191<b&&224>b?(c2=c.charCodeAt(d+1),a+=String.fromCharCode((b&31)<<6|c2&63),d+=2):(c2=c.charCodeAt(d+1),c3=c.charCodeAt(d+2),a+=String.fromCharCode((b&15)<<12|(c2&63)<<6|c3&63),d+=3);return a}}; // сюда поместить сгенерированную строку: var str = 'PGEgaHJlZj0ibWFpbHRvOm1haWxAbWFpbC5ydSI+bWFpbEBtYWlsLnJ1PC9hPg=='; document.write(Base64.decode(str)); </script>, где «PGEgaHJlZj0ibWFpbHRvOm1haWxAbWFpbC5ydSI+bWFpbEBtYWlsLnJ1PC9hPg==» — это закодированная методом Base64.encode строка: <a href="mailto:mail@mail.ru">mail@mail.ru</a>Соответственно, если вам надо в этой строчке что-то поменять, в консоли браузера выполните: str = '<a href="mailto:new-mail@mail.ru">new-mail@mail.ru</a>'; console.log(Base64.encode(str));И скопируйте в код выше (где находится соответствующая пометка) получившуюся строку в консоли. Вопросы / Защита e-mail от спама 6 0
11 февраля 2013, 00:15 Пишите на почту.Вы бы её тогда указали чтоли..) Объявления о работе / Modex 6 0
04 февраля 2013, 17:54 Хм, фильтр по доп. параметрам без tv? Интересно… :-) Прям с нетерпением жду) Вопросы / getTickets и фильтрация тикетов по tv 5 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... Да, планируется. Даже чуть больше, чем просто бонусная система)
Лучше уж сферическое «e.preventDefault(); не во всех браузерах правильно срабатывает», чем долгий и нудный поиск бага на тему — почему же закрывается js-модальное окно или кастомный комбобокс…
Кстати, лично вы встречали какие-либо проблемы при использовании e.preventDefault()? Я лично нет (даже в ишаках, включая 7й), хотя верстаю много и (возможно) профессионально.
При &includeContent=`1` дополнительно заработают плейсхолдеры [[+date_ago]], [[+comments]], [[+views]].
Конечно, с getResource'ом будет сильно медленнее.
По поводу пунктов 3 и 4 — раз вы уже знаете где и что можно исправить в сниппетах — не ждите, вносите изменения и отправляйте pull request в репозиторий Тикетов. Быстрее появится в релизе :-)
pdoTools — это такой конструктор запросов. В нём можно присоединять сколько вам угодно таблиц, использовать сортировки и всё-всё-всё. Описание ищите здесь на сайте.
Просто времени с этим разбираться пока нету, а переезд будет не завтра и не послезавтра. Поэтому изучение nginx'а пока откладываю.
А вот решение с кроном уже сейчас нужно.
Такой адрес запишется во все логи по всей цепочке «пользователь» => «сервер».
В том числе всякими Яндекс.Недобраузерами и иже с ними, роботы которых любят посещать проснифанные урлы на предмет индексации.
Так что это вообще не выход)
Но планирую слезать с апача. А nginx пока не знаю. С ним ещё только буду разбираться.
Поэтому такой вариант не особо рассматриваю. Но спасибо, что напомнили :-)
Ну это уже больше прихоти, конечно :-) Да к тому же, не сильно влияющие на конечную безопасность.
Да и не такой уж и большой огород :-)
Поэтому отсекаем всех, кто не из консоли и кто запускает скрипт через веб-сервер, кроме авторизованного юзера с id администратора. который залогинен:
Просто может есть ещё какие-то тонкости, о которых я не подумал?
Представьте ситуацию, что есть некий сайт, который предоставляет некое апи для доступа к своим данным, которые периодически обновляются. Заранее об обновлениях неизвестно, да и обновления не такие уж и частые.
Поэтому пишем скрипт для работы с этим апи, чтобы проверять обновления данных и отображать их у себя, ставим в крон, к примеру раз в сутки в ночное время, когда нагрузка на сервер небольшая. А может быть и раз в двое суток — обновления-то не частые.
Но вот я заметил, что произошло обновление этих данных на том самом сайте и мне не за чем ждать до ночи, чтобы эти обновления увидеть у себя. А то и до ночи следующего дня.
Тогда я просто логинюсь в админку, открываю в браузере свой файл и, собственно, вуаля :-)
Может хоть вам пригодится)
ExtJS-4 с самого начала
Ext4 Grid на пальцах
Офф. доки
Ну и, конечно же, здесь.
Только учтите, что в ModX испольуется ExtJS-3, а первые 2 ссылки выше о ExtJS-4. А это большая разница. Но в целом для ознакомления пойдёт)
Этот код вставить в месте, где нужно вывести ссылку:
, где «PGEgaHJlZj0ibWFpbHRvOm1haWxAbWFpbC5ydSI+bWFpbEBtYWlsLnJ1PC9hPg==» — это закодированная методом Base64.encode строка:
Соответственно, если вам надо в этой строчке что-то поменять, в консоли браузера выполните:
И скопируйте в код выше (где находится соответствующая пометка) получившуюся строку в консоли.
Прям с нетерпением жду)