SEQUEL.ONE
С нами с 16 июня 2015; Место в рейтинге пользователей: #84Ошибка в MODX 3 при создании нового пользователя
Решил попробовать установить MODX 3 Dev, при создании нового юзера вылетела ошибка:
P.S. Тыкните плиз, куда багфиксы в Github кидать?
Parse error: syntax error, unexpected '<<' (T_SL), expecting end of file in /var/www/site/data/www/modx3.s01.one/core/lexicon/ru/setting.inc.php on line 459
Полез узнать в чём может быть проблема и увидел следующее:<<<<<<< HEAD
$_lang['setting_login_help_button'] = 'Выводить кнопку помощи';
$_lang['setting_login_help_button_desc'] = 'Если включено, на экране входа в Менеджер будет выведена кнопка помощи. Вы можете изменить текст этой помощи, редактирую следующие записи лексикона core/login: login_help_button_text, login_help_title, и login_help_text.';
$_lang['setting_manager_time_format'] = 'Формат времени';
$_lang['setting_manager_time_format_desc'] = 'Строка в формате PHP date(), определяющая формат отображения времени в настройках сайта.';
=======
$_lang['setting_manager_time_format'] = 'Формат времени в панели управления';
$_lang['setting_manager_time_format_desc'] = 'Строка в формате PHP date(), определяющая формат отображения времени в панели управления.';
>>>>>>> origin/2.x
Это вообще законно?))) Или в синтаксисе PHP 7.2 такое встречается?! Сорри если не туда закинул топик.P.S. Тыкните плиз, куда багфиксы в Github кидать?
Как записать через плагин значение в таблицу с классом msProductData?
Всем привет. Стоит задача вести учёт товаров в Наличии и Нет в наличии. Использую компонент msProductRemains. Через msFieldsManager добавил новое поле с типом tinyint и значением флажок. В бд это 1 и 0. Пробую написать плагин, по событиям msprOnChangeRemains, но почему-то ничего не работает. Нужно чтобы при изменении количества товаров, в поле remains (класс таблицы msProductData) записывалась единица, а при нуле или пустоте 0. Может кто-нибудь подсказать что не так?
Вот код плагина:
Вот код плагина:
</c<?php
switch ($modx->event->name) {
case 'msprOnChangeRemains':
$product = $modx->getObject('msprRemains', array('product_id' => $data['id']));
$remains = $product->get('remains');
$product_id = $product->get('product_id');
$new = $modx->getObject('msProductData', array('id' => $product_id));
if($remains >= 1) {
$new->set('remains', 1);
} else {
$new->set('remains', 0);
}
break;
}ode>
Не работает MinifyX в главном контексте
Всем привет. Столкнулся с проблемой, создаются пустые файлы стилей и яваскриптов только в главном контексте, в других контекста всё работает. Не могу понять почему. В логах вот такие ошибки:
[2018-05-15 19:06:03] (ERROR @ /var/www/sitecom/data/www/site.com/core/components/minifyx/model/minifyx/minifyx.class.php : 339) [MinifyX] File does not exist: /assetstemplatessitecomjsbootstrap.min.js
[2018-05-15 19:06:03] (ERROR @ /var/www/sitecom/data/www/site.com/core/components/minifyx/model/minifyx/minifyx.class.php : 339) [MinifyX] File does not exist: /assetstemplatessitecomcssbootstrap.min.css
[2018-05-15 19:06:04] (ERROR @ /var/www/sitecom/data/www/site.com/core/components/minifyx/model/minifyx/minifyx.class.php : 416) [MinifyX] Could not save cache file /var/www/sitecom/data/www/site.com/assets/components/minifyx/cache/all_da39a3ee5e.min.css
[2018-05-15 19:06:04] (ERROR @ /var/www/sitecom/data/www/site.com/core/components/minifyx/model/minifyx/minifyx.class.php : 339)
Есть ли компонент для продажи инструменталов?
Всем привет. Есть ли сейчас компонент для MODX Revo для продажи инструменталов (минусов, битов) и прочего музыкального контента? Если нет, то можете подсказать как такое лучше всего реализовать?
По задумке, человек регистрируется на сайте, заливает свои композиции, после чего с залитой композиции срезается программно кусок на 20-30 секунд и на него сверху накладывается звуковой копирайт? Возможно ли такое вообще сделать?
По задумке, человек регистрируется на сайте, заливает свои композиции, после чего с залитой композиции срезается программно кусок на 20-30 секунд и на него сверху накладывается звуковой копирайт? Возможно ли такое вообще сделать?
Как вывести API через чанк?
Всем привет. Столкнулся с проблемой при получения данных из API, данные выводятся через foreach(). Через var_dump() выводится всё как надо, но вот пытаюсь выводить это дело через $modx->getChunk() и у меня выводит только последний пункт из выборки. Вот код сниппета:
<?php
$tpl = $modx->getOption('tpl', $scriptProperties, 'tpl.PayPanel.rowTpl');
$plan = $modx->getOption('plan', $scriptProperties, 'vhost');
$host = $modx->getOption('paypanel_billmanager_url');
$format = $modx->getOption('paypanel_billmanager_format');
$login = $modx->getOption('paypanel_billmanager_login');
$password = $modx->getOption('paypanel_billmanager_password');
$url.= $host;
$url.= 'billmgr?out='.$format;
$url.= '&func=auth';
$url.= '&username='.$login;
$url.= '&password='.$password;
$json = file_get_contents($url);
$auth = json_decode($json);
$auth = (array)$auth->doc->auth;
$auth = $auth['$id'];
$api_url.= $host;
$api_url.= 'billmgr?auth='.$auth;
$api_url.= '&out='.$format;
$api_url.= '&func=pricelist.export';
$api_json = file_get_contents($api_url);
$api = json_decode($api_json);
$api = (array)$api->doc->pricelist;
foreach($api as $k => $v) {
$group = (array)$v->itemtype_info->intname;
$group = $group['$'];
if($group == $plan) {
$name = (array)$v->name;
$name = $name['$'];
$description = (array)$v->description_ru;
$description = $description['$'];
$addon = $v->addon;
$price = (array)$v->price;
unset($price['$currency']);
foreach($price as $period => $p) {
$p1 = (array)$p['0'];
$cost1 = $p1['$cost'];
$type1 = $p1['$type'];
$length1 = $p1['$length'];
$orderlink1 = $p1['$orderlink'];
$p2 = (array)$p['1'];
$cost2 = $p2['$cost'];
$type2 = $p2['$type'];
$length2 = $p2['$length'];
$orderlink2 = $p2['$orderlink'];
$p3 = (array)$p['2'];
$cost3 = $p3['$cost'];
$type3 = $p3['$type'];
$length3 = $p3['$length'];
$orderlink3 = $p3['$orderlink'];
$p4 = (array)$p['3'];
$cost4 = $p4['$cost'];
$type4 = $p4['$type'];
$length4 = $p4['$length'];
$orderlink4 = $p4['$orderlink'];
$modx->setPlaceholder('name', $name);
$modx->setPlaceholder('description', $description);
$modx->setPlaceholder('cost1', $cost1);
$modx->setPlaceholder('type1', $type1);
$modx->setPlaceholder('length1', $length1);
$modx->setPlaceholder('orderlink1', $orderlink1);
$modx->setPlaceholder('cost2', $cost2);
$modx->setPlaceholder('type2', $type2);
$modx->setPlaceholder('length2', $length2);
$modx->setPlaceholder('orderlink2', $orderlink2);
$modx->setPlaceholder('cost3', $cost3);
$modx->setPlaceholder('type3', $type3);
$modx->setPlaceholder('length3', $length3);
$modx->setPlaceholder('orderlink3', $orderlink3);
$modx->setPlaceholder('cost4', $cost4);
$modx->setPlaceholder('type4', $type4);
$modx->setPlaceholder('length4', $length4);
$modx->setPlaceholder('orderlink4', $orderlink4);
$output = $modx->getChunk($tpl);
}
}
}
return $output;
Как вывести определённые ресурсы через pdoResources в Fenom?
Всем привет. Столкнулся с проблемой при сборке сайта. Конструкция вроде этой:
{$_modx->runSnippet('!pdoResources', [
'resources' => '7,8,9,10',
'limit' => 4,
'tpl' => ''
])}
ничего не выводит. Как правильно вывести нужные ресурсы через pdoResources в Fenom? Как изменять старую цену в miniShop2 через плагин?
Всем привет. Бьюсь над этой задачей уже пару дней, так и не могу понять как по аналогии с этим модификатором цен сделать тоже самое, но для старой цены old_price, если брать в расчёт что price по аналогичному алгоритму изменяется на сайте?
case 'msOnGetProductPrice':
// Плагин принимает:
// $product - объект msProductData
// $data - массив со свойствами товара, может отсутствовать
// $price - текущая цена товара
// Подключаем массив значений по ссылке - так удобнее
$values = & $modx->event->returnedValues;
// Цена может меняться несколькими плагинами сразу, поэтому проверяем:
if (isset($values['price'])) {
$price = $values['price'];
}
// Удваиваем цену:
$values['price'] = $price * 2;
break;
Курс цен производителей
Всем привет. Делаю курс цен от производителя. Нужно к ценам умножать курс от производителя для price и old_price, если производитель у товара не указан, то выводить глобальный курс, который создан в системных настройках. Не самый изящный способ использовал. Добавил новое поле `curs` в таблицу ms2_vendors изменения в файлах модели, схемы и extjs, чтобы добавить новое поле с курсом пересчёта и установил на эти файлы CHMOD 444, чтоб при обновлении эти файлы не затёрлись.
Затем написал плагин:
CursPrice и повесил на события msOnGetProductPrice, msOnChangeInCart, msOnAddToCart и msOnRemoveFromCart.
Код плагина:
/site.ru/core/components/minishop2/model/minishop2/msvendor.class.php
/site.ru/core/components/minishop2/model/schema/minishop2.mysql.schema.xml
/site.ru/assets/components/minishop2/js/mgr/settings/vendor/grid.js
/site.ru/assets/components/minishop2/js/mgr/settings/vendor/window.js
Затем написал плагин:
CursPrice и повесил на события msOnGetProductPrice, msOnChangeInCart, msOnAddToCart и msOnRemoveFromCart.
Код плагина:
<?php
switch ($modx->event->name) {
case 'msOnGetProductPrice': case 'msOnChangeInCart': case 'msOnAddToCart': case 'msOnRemoveFromCart':
$curs_global = $modx->getOption('ms2_curs_global');
$curs_global_enable = $modx->getOption('ms2_curs_global_enable');
$product = $modx->getObject('msProduct', $data['id']);
$curs = $product->get('vendor.curs');
$old_price = $product->get('old_price');
// Подключаем массив значений по ссылке - так удобнее
if (!isset($modx->event->returnedValues['old_price'])) {
$modx->event->returnedValues['old_price'] = $old_price;
}
$old_price = & $modx->event->returnedValues['old_price'];
$values = & $modx->event->returnedValues;
if($curs_global_enable != 1) {
// Удваиваем цену:
$values['price'] = $price * $curs;
$old_price = $old_price * $curs;
} else {
$values['price'] = $price * $curs_global;
$old_price = $old_price * $curs_global;
}
//exit(var_dump($old_price));
break;
}
Регистрация и авторизация
2 2 000
Всем привет. Ищу разработчика, который смог бы сделать регистрацию и авторизацию через Office таким образом, чтобы создавался пользователь в BILLmanager 5 и оставался авторизованным пока пользователь не вышел бы из учётной записи в MODX. У BILLmanager есть API со всеми необходимыми методами. Как мне кажется задача будет состоять из написания плагина. Также есть необходимость синхронизации счёта пользователя со счётом в miniShop2 из компонента msProfile. Отпишите сколько такое стоит и по срокам. Спасибо.
Skype: sequel.one
WatsUp: +4915146710700
Skype: sequel.one
WatsUp: +4915146710700
Если вызывать больше одного pdoMenu в чанке?
Всем привет. Подскажите пожалуйста какой параметр отвечает за разграничение вызовов pdoMenu, чтобы каждый выводился отдельно в чанке? Сейчас при нескольких вызовах всё смешалось в один большой хаос)