Алексей
С нами с 25 декабря 2012; Место в рейтинге пользователей: #69Super MODx SEO-strict +ускоряем фронтенд
Михаил задал вопрос про канонизацию урлов в MODx.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.
Поехали.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.
Поехали.
Tickets сортировка по просмотрам
В сообществе не нашел, оставлю может кому-то по запросу пригодится.
&sortby=`views`
&select=`{"View":"COUNT(DISTINCT View.uid) as views"}`
&leftJoin=`{"View":{"class":"TicketView","alias":"View","on":"Ticket.id=View.parent"}}`
Организация рутины при свежей установке modx.
Хочу поделиться скриптами для организации рутины при свежей установке и настройке сайта на modx, как раз проскочил вопрос в сообществе.
Скрипты можно запустить на свежей установке через консоль сервера, ну или вызывать в браузере страницу, предварительно отредактировав список опций.
По умолчанию все настройки рассчитаны на корень сайта example.com/packages.php
На локальном сервере php5-fpm nginx настроенном по инструкции Bezumkin все работает отлично.
Скрипты можно запустить на свежей установке через консоль сервера, ну или вызывать в браузере страницу, предварительно отредактировав список опций.
По умолчанию все настройки рассчитаны на корень сайта example.com/packages.php
На локальном сервере php5-fpm nginx настроенном по инструкции Bezumkin все работает отлично.
Авторизация по email и номеру телефона
Доброго времени суток!
Возникла необходимость реализовать возможность входа на сайт как по e-mail + пароль, так и по номеру телефона + пароль.
Так как опыта в этом дела мало и гугл не помог, то я решил обратиться в вам, уважаемое сообщество.
Реально ли это реализовать с помощью preHook'а Login'a? Или можно как-то расширить для этого HybridAuth?
Куда вообще копать? Выполнима ли вообще задача без ковыряния ядра?
Единственный вариант, который приходит в голову: получать введенный номер > искать его в базе > получать из базы e-mail > сравнивать email с паролем. Но, признаться, я слабо представляю как это реализовать.
Может быть уже кто-то делал подобное и готов поделиться наработками?
Буду рад любому совету.
Возникла необходимость реализовать возможность входа на сайт как по e-mail + пароль, так и по номеру телефона + пароль.
Так как опыта в этом дела мало и гугл не помог, то я решил обратиться в вам, уважаемое сообщество.
Реально ли это реализовать с помощью preHook'а Login'a? Или можно как-то расширить для этого HybridAuth?
Куда вообще копать? Выполнима ли вообще задача без ковыряния ядра?
Единственный вариант, который приходит в голову: получать введенный номер > искать его в базе > получать из базы e-mail > сравнивать email с паролем. Но, признаться, я слабо представляю как это реализовать.
Может быть уже кто-то делал подобное и готов поделиться наработками?
Буду рад любому совету.
360К изображений к товарам и pdo closeCursor
Приветствую.
Таблица изображений к товарам (ms2_product_files) содержит чуть больше 360 тысяч записей. При добавлении новых изображений процесс идет очень медленно, от файла к файлу прибавляется несколько секунд ожидания и в конечном счете доходит до нескольких минут ожидания перед загрузкой следующего изображения. Вместе с этим mysql грузит проц на 100%, при этом все миниатюры, как и полагается, готовы и лежат на своем месте уже через несколько секунд.
Поиски причин привели к minishop2/model/minishop2/msproductdata.class.php и в частности к функции rankProductImages(). В итоге выяснилось, что основное время занимает закрытие курсора ($stmt->closeCursor()), в среднем 40 секунд.
Отсюда собственно и вопросы.
Самое простое решение — порубить вызов rankProductImages() в функции updateProductImage(). Коверкать минишоп не хочется, но на сколько это безобидно?
Возможно ли как-то справиться через настройки mysql, или в данном случае они вообще ни о чем?
Таблица изображений к товарам (ms2_product_files) содержит чуть больше 360 тысяч записей. При добавлении новых изображений процесс идет очень медленно, от файла к файлу прибавляется несколько секунд ожидания и в конечном счете доходит до нескольких минут ожидания перед загрузкой следующего изображения. Вместе с этим mysql грузит проц на 100%, при этом все миниатюры, как и полагается, готовы и лежат на своем месте уже через несколько секунд.
Поиски причин привели к minishop2/model/minishop2/msproductdata.class.php и в частности к функции rankProductImages(). В итоге выяснилось, что основное время занимает закрытие курсора ($stmt->closeCursor()), в среднем 40 секунд.
Отсюда собственно и вопросы.
Самое простое решение — порубить вызов rankProductImages() в функции updateProductImage(). Коверкать минишоп не хочется, но на сколько это безобидно?
Возможно ли как-то справиться через настройки mysql, или в данном случае они вообще ни о чем?
Как передать параметры для поиска в mFilter в GET?
Нужна помощь в правильном способе формирования URL с одной страницы сайта для перехода в каталог, где используется mFilter2, чтобы фильтр этот URL с параметрами правильно разобрал и отфильтровал товары.
Привязка встроенных объектов к кастомным
В силу ряда причин, мне потребовалось в свой кастомный объект, имеющий свою таблицу в бд и наследующий xPDOSimpleObject, добавить привязку к стандартному объекту MODX. Например, modUser.
Сделать это с помощью aggregates и composites в схеме моего кастомного объекта не получилось (собственно, добавление в схему связи с нативным modx-объектом ни к чему не привело — связи не появилось). Я полагаю, это свзяано с тем, что в схеме modx.mysql.schema.xml свзяи с моим кастомным объектом как не было, так и нет.
Сделать это с помощью aggregates и composites в схеме моего кастомного объекта не получилось (собственно, добавление в схему связи с нативным modx-объектом ни к чему не привело — связи не появилось). Я полагаю, это свзяано с тем, что в схеме modx.mysql.schema.xml свзяи с моим кастомным объектом как не было, так и нет.
[update] Общая база товаров для разных контекстов
Очень долго не получалось заставить работать товары minishop2 на других контекстах, с выводом через сниппет нет проблем, а вот с ссылками и корзиной беда.
Использовал sendForward, с ним куча гемороя, но случайно наткнулся на вот это:
Использовал sendForward, с ним куча гемороя, но случайно наткнулся на вот это:
$modx->resource = $modx->getObject('modResource', $id);
$modx->request->prepareResponse();
exit();
FormIt.. type file multiple
день добрый, необходимо отправлять несколько файлов на почту… использую компонент FormIt
тег «form»:
сам «input»:
тег «form»:
<form action="[[~[[*id]]]]" method="post" enctype="multipart/form-data" class="form">
сам «input»:
<input class="form-control" type="file" name="filesToUpload[]" id="filesToUpload" maxlength="100000" multiple value="[[!+fi.filesToUpload]]" />
…bootstrap scrollspy и base href
Есть проблема при использовании bootstrap scrollspy www.tutorialrepublic.com/codelab.php?topic=bootstrap&file=scrollspy
При проставлении якорей типа
При проставлении якорей типа
<li><a href="#section-2">Section Two</a></li>
они все ведут на site.com/#section-2. При проставлении <li><a href="[[~[[*id]]]]#section-2">Section Two</a></li>
все ссылки начинают работать правильно, но перестает работать навигация scrollspy. Если убрать base_href из шапки, то весь сайт плывет. Менял link_tag_scheme — тоже безрезультатно. Как заставить приблуду работать?