Александр
С нами с 19 февраля 2013; Место в рейтинге пользователей: #419Разработчик modx. Санкт-Петербург. В офис.
31 60 000
Ищу человека в Питере на полный рабочий день в офис. (60+ в месяц)
Сейчас проект на modx revo неплохо себе живёт… но, он слегка запустился без «хозяина» и надо его «встряхнуть» )
По задачам, без лишней воды — крупный проект (>500k ресурсов + виртуальных не меньше, modx revo от части), который надо усовершенствовать и поддерживать. (фронтэнд немного нужен :))
Про всякие там печенюшки и условия поговорим уже ближе к делу с желающими, но из важного: всё по белому. И на фриланс пока не уговаривайте :)
Всё расскажу и помогу — я, пишите на почту alexanderweb@bk.ru дальше созвонимся и встретимся при желании.
Сейчас проект на modx revo неплохо себе живёт… но, он слегка запустился без «хозяина» и надо его «встряхнуть» )
По задачам, без лишней воды — крупный проект (>500k ресурсов + виртуальных не меньше, modx revo от части), который надо усовершенствовать и поддерживать. (фронтэнд немного нужен :))
Про всякие там печенюшки и условия поговорим уже ближе к делу с желающими, но из важного: всё по белому. И на фриланс пока не уговаривайте :)
Всё расскажу и помогу — я, пишите на почту alexanderweb@bk.ru дальше созвонимся и встретимся при желании.
Выборка newQuery (msProduct) по значению tv
Много видел подобных вопросов, ответы некоторые 2014 аж, поэтому не завелось к сожалению.
Делаю выборку таким образом (например по цене в конкретных категориях) — работает!
Например есть у товара tv с именем art, в итоге такое условие:
'art' => 10, к сожалению тоже. Как в условии достучаться до этого произвольного tv?
Благоадарю.
Делаю выборку таким образом (например по цене в конкретных категориях) — работает!
$query = $modx->newQuery('msProduct');
$query->leftJoin('msProductData', 'Data');
$query->where(array(
'msProduct.parent:IN' => [10, 20],
'Data.price' => '60',
));
$products= $modx->getCollection('msProduct', $query);
foreach ($products as $k => $product) {
$title = $product->get('pagetitle');
// ....
}
Однако, как я понял по произвольному tv-параметру в данном случаи не отобрать…Например есть у товара tv с именем art, в итоге такое условие:
$query->where(array(
'msProduct.parent:IN' => [10, 20],
'Data.art' => 10,
));
не отбирает… 'art' => 10, к сожалению тоже. Как в условии достучаться до этого произвольного tv?
Благоадарю.
Проблема с редактирование ресурсов (спецсимвол в наименовании)
Приветствую,
Страницы (ресурсы) генерируются из экселя и никаких проблем с этим действом никогда не возникало.
Недавно заметил, что в админке некоторые страницы не открываются для редактирования. Область где собственно должны располагаться вкладки «Документ/Настройки/Доп. поля...» — пуста :)
В консоль сыпется около 50 ошибок вида:
Проанализировав что с этими «некоторыми» страницами не так, заметил что в наименовании у них есть такой символ как двойная кавычка (" — дюйм так помечен).
Сначала грешил на свой импорт и подумал что при создании страницы «руками» из админки видимо как-то это дело экранируется, а я насильно заливаю без преобразования. Но. Оказалось, что нет — попробовав создать «руками» наименование с двойной кавычкой — всё также поломалась :)
Решить конечно можно, заменив на две одинарные, но может ещё какие есть подобные символы и имеются ли варианты решения проблемы с двойной кавычкой?
Благодарю.
Страницы (ресурсы) генерируются из экселя и никаких проблем с этим действом никогда не возникало.
Недавно заметил, что в админке некоторые страницы не открываются для редактирования. Область где собственно должны располагаться вкладки «Документ/Настройки/Доп. поля...» — пуста :)
В консоль сыпется около 50 ошибок вида:
Cannot read property 'getForm' of undefined...
Проанализировав что с этими «некоторыми» страницами не так, заметил что в наименовании у них есть такой символ как двойная кавычка (" — дюйм так помечен).
Сначала грешил на свой импорт и подумал что при создании страницы «руками» из админки видимо как-то это дело экранируется, а я насильно заливаю без преобразования. Но. Оказалось, что нет — попробовав создать «руками» наименование с двойной кавычкой — всё также поломалась :)
Решить конечно можно, заменив на две одинарные, но может ещё какие есть подобные символы и имеются ли варианты решения проблемы с двойной кавычкой?
Благодарю.
При создании контекста слетел site_status
Приветствую!
Создал новый контекст для мультиязычности. Всё прекрасно работает, никаких проблем, однако заметил, что при переводе сайта в закрытый режим — контекст web прекрасно доступен, а новый созданный не доступен, как и требуется.
Не подскажите, с чем может быть связана такая маленькая неприятность?
Благодарю!
upd: Из админки само-собой вышел, кэш чистил, в каждый конекст прописал свои site_status и site_unavailable_page. Работает только на созданном контексте en. Версия 2.5.8-pl
решено: Каким-то чудесным образом, в права на доступ к контексту web анонимам, прописалась политика доступа со значением 14 (нет такой). Странно, установка свежая. Вообщем дело было в этом.
Создал новый контекст для мультиязычности. Всё прекрасно работает, никаких проблем, однако заметил, что при переводе сайта в закрытый режим — контекст web прекрасно доступен, а новый созданный не доступен, как и требуется.
Не подскажите, с чем может быть связана такая маленькая неприятность?
Благодарю!
upd: Из админки само-собой вышел, кэш чистил, в каждый конекст прописал свои site_status и site_unavailable_page. Работает только на созданном контексте en. Версия 2.5.8-pl
решено: Каким-то чудесным образом, в права на доступ к контексту web анонимам, прописалась политика доступа со значением 14 (нет такой). Странно, установка свежая. Вообщем дело было в этом.
Content-Type: multipart/related через modMail
Приветствую!
Есть необходимость организовать письмо с Content-Type: multipart/related средствами modMail. То есть письмо, с картинками (но картинки это части письма). На данный момент, даже если шаблон письма содержит картинки на выходе получаю Content-Type: text/html;
Вложение ($modx->mail->attach($attachment);) даёт тип mixed.Да и это совсем не то..
В PHPMailer для этого вроде существует addEmbeddedImage(), но в modMail судя по всему оно не перекочевало, к сожалению.
Не подскажите каким образом можно добитьcя «внедрения» изображений таким образом?
Благодарю!
Есть необходимость организовать письмо с Content-Type: multipart/related средствами modMail. То есть письмо, с картинками (но картинки это части письма). На данный момент, даже если шаблон письма содержит картинки на выходе получаю Content-Type: text/html;
Вложение ($modx->mail->attach($attachment);) даёт тип mixed.Да и это совсем не то..
В PHPMailer для этого вроде существует addEmbeddedImage(), но в modMail судя по всему оно не перекочевало, к сожалению.
Не подскажите каким образом можно добитьcя «внедрения» изображений таким образом?
Благодарю!
Авторизация при переходе на поддомен.
Приветствую,
Есть сайт site.ru.
Решил вынести часть функционала на поддомен + на другой сервер (s.site.ru). Там всё крутится на nodejs, и задача «автоматически» авторизировать пользователя при переходе с site.ru
Как я себе это вижу: (возможно ужасно вижу)
А также, как лучше «поменять» этот самый sessionid после удачной авторизации, чтоб всё было хорошо )
Благодарю.
Есть сайт site.ru.
Решил вынести часть функционала на поддомен + на другой сервер (s.site.ru). Там всё крутится на nodejs, и задача «автоматически» авторизировать пользователя при переходе с site.ru
Как я себе это вижу: (возможно ужасно вижу)
- Пользователь авторизируется на site.ru
- В личном кабинете есть ссылка вида s.site.ru/?confirm=[значение поля sessionid] (из *_user_attributes)
- При переходе по ссылке, проверяется совпадает ли sessionid и если да, то авторизируем
- Меняем sessionid
А также, как лучше «поменять» этот самый sessionid после удачной авторизации, чтоб всё было хорошо )
Благодарю.
AjaxLogin на виртуальных страницах.
Приветствую,
столкнулся с небольшой проблемкой.
AjaxLogin прекрасно себя ведёт на «реальных страницах», а вот на виртуальных немного сопротивляется (fastrouter).
После успешной авторизации не происходит редиректа на loginResourceId. Понятное дело, что в этот параметр передаётся id ресурса, а так как страница виртуальная, то id у неё нет. Внёс небольшие правки в сниппет ajaxLogin, чтоб при авторизации с виртуальной страницы $url формировался без makeUrl(), но рдиректа всё нет.
При авторизации с реальной страницы в Network (отладчике) наблюдаю такое:
С виртуальной же страницы такое:
Благодарю!
столкнулся с небольшой проблемкой.
AjaxLogin прекрасно себя ведёт на «реальных страницах», а вот на виртуальных немного сопротивляется (fastrouter).
После успешной авторизации не происходит редиректа на loginResourceId. Понятное дело, что в этот параметр передаётся id ресурса, а так как страница виртуальная, то id у неё нет. Внёс небольшие правки в сниппет ajaxLogin, чтоб при авторизации с виртуальной страницы $url формировался без makeUrl(), но рдиректа всё нет.
При авторизации с реальной страницы в Network (отладчике) наблюдаю такое:
action.php | 302 | text/html
Всё как надо, редирект проходит успешно.С виртуальной же страницы такое:
action.php | 200 | xhr
с Respons'ом вида:{"success":true,"data":"[html формы авторизации]"}
Не подскажите куда глядеть?Благодарю!
Группировка при выводе (getCollection)
Приветствую. Уже мозг сломал, выдумывая вариант решения такой задачки:
Есть записи в таблице, примерно такого вида:
При перехода например на site.ru/list/10/ выдераю из базы и вывожу все записи с pid = 10 (с сортировкой по дате добавления). Всё пока просто и понятно:
Есть записи в таблице, примерно такого вида:
id | pid | text | date
1 10 --- ---
2 12 --- ---
3 15 --- ---
4 11 --- ---
5 19 --- ---
6 12 --- ---
7 11 --- ---
8 10 --- ---
При перехода например на site.ru/list/10/ выдераю из базы и вывожу все записи с pid = 10 (с сортировкой по дате добавления). Всё пока просто и понятно:
....
$q->where(array(
'pid' => $pid, // 10
));
$result = $modx->getCollection('MyPack', $q);
....
Поля пользователей в foreach.Выводит только первое
Приветствую!
Вывожу данные из своей таблицы. В ней, помимо кучи других полей, записан id_user (id пользователя).
Вывожу так:
Вывожу данные из своей таблицы. В ней, помимо кучи других полей, записан id_user (id пользователя).
Вывожу так:
$modx->addPackage('MyPac', $modx->getOption('core_path').'components/MyPac/model/', 'modx_');
$q = $modx->newQuery('MyPacTable');
$q->sortby('add','DESC');
$lists = $modx->getCollection('MyPacTable', $q);
foreach ($lists as $k => $res) {
....
$id_user = $res->get('id_user');
...
$output .= $modx->getChunk('tpl.user.list',array(
'userId' => $id_user,
....
));
}
return $output;
CRON. Забивается журнал ошибок и "слетает" сайт.
Приветствую.
Раз в минуту CRON долбит сниппет, который ищет в пользовательской таблице запись со значением status = 0. Такая запись появляется примерно 10/15 раз в день.
Всё работает, как надо. Задача выполняется, однако стал замечать много ошибок связанных с кэшом в журнале, например:
Раз в минуту CRON долбит сниппет, который ищет в пользовательской таблице запись со значением status = 0. Такая запись появляется примерно 10/15 раз в день.
Всё работает, как надо. Задача выполняется, однако стал замечать много ошибок связанных с кэшом в журнале, например:
[2016-05-31 11:03:59] (ERROR @ /index.php) Error caching script elements/modsnippet/69
[2016-05-31 11:04:02] (ERROR @ /index.php) Error caching script elements/modsnippet/173
[2016-05-31 11:04:02] (ERROR @ /index.php) Error caching script elements/modsnippet/72
[2016-05-31 11:04:02] (ERROR @ /index.php) Error caching script elements/modsnippet/69