SEQUEL.ONE

SEQUEL.ONE

С нами с 16 июня 2015; Место в рейтинге пользователей: #85

Ошибка в MODX 3 при создании нового пользователя

Решил попробовать установить MODX 3 Dev, при создании нового юзера вылетела ошибка:

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 кидать?
SEQUEL.ONE
27 июня 2018, 18:43
modx.pro
952
0

Как записать через плагин значение в таблицу с классом 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>
SEQUEL.ONE
17 мая 2018, 17:50
modx.pro
667
0

Не работает 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)
SEQUEL.ONE
15 мая 2018, 17:24
modx.pro
1 234
0

Есть ли компонент для продажи инструменталов?

Всем привет. Есть ли сейчас компонент для MODX Revo для продажи инструменталов (минусов, битов) и прочего музыкального контента? Если нет, то можете подсказать как такое лучше всего реализовать?

По задумке, человек регистрируется на сайте, заливает свои композиции, после чего с залитой композиции срезается программно кусок на 20-30 секунд и на него сверху накладывается звуковой копирайт? Возможно ли такое вообще сделать?
SEQUEL.ONE
12 мая 2018, 19:41
modx.pro
2
934
0

Как вывести 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;
SEQUEL.ONE
09 мая 2018, 12:06
modx.pro
1
1 570
0

Как вывести определённые ресурсы через pdoResources в Fenom?

Всем привет. Столкнулся с проблемой при сборке сайта. Конструкция вроде этой:

{$_modx->runSnippet('!pdoResources', [
        			        'resources' => '7,8,9,10',
        			        'limit' => 4,
        			        'tpl' => ''
        			    ])}
ничего не выводит. Как правильно вывести нужные ресурсы через pdoResources в Fenom?
SEQUEL.ONE
07 апреля 2018, 14:54
modx.pro
2
1 584
0

Как изменять старую цену в 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;
SEQUEL.ONE
28 марта 2018, 16:07
modx.pro
1
1 396
0

Курс цен производителей

Всем привет. Делаю курс цен от производителя. Нужно к ценам умножать курс от производителя для price и old_price, если производитель у товара не указан, то выводить глобальный курс, который создан в системных настройках. Не самый изящный способ использовал. Добавил новое поле `curs` в таблицу ms2_vendors изменения в файлах модели, схемы и extjs, чтобы добавить новое поле с курсом пересчёта и установил на эти файлы CHMOD 444, чтоб при обновлении эти файлы не затёрлись.

/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;
}
SEQUEL.ONE
22 марта 2018, 13:56
modx.pro
1
1 334
0

Регистрация и авторизация

2 2 000
Всем привет. Ищу разработчика, который смог бы сделать регистрацию и авторизацию через Office таким образом, чтобы создавался пользователь в BILLmanager 5 и оставался авторизованным пока пользователь не вышел бы из учётной записи в MODX. У BILLmanager есть API со всеми необходимыми методами. Как мне кажется задача будет состоять из написания плагина. Также есть необходимость синхронизации счёта пользователя со счётом в miniShop2 из компонента msProfile. Отпишите сколько такое стоит и по срокам. Спасибо.

Skype: sequel.one
WatsUp: +4915146710700
SEQUEL.ONE
21 февраля 2018, 11:28
modx.pro
511
0

Если вызывать больше одного pdoMenu в чанке?

Всем привет. Подскажите пожалуйста какой параметр отвечает за разграничение вызовов pdoMenu, чтобы каждый выводился отдельно в чанке? Сейчас при нескольких вызовах всё смешалось в один большой хаос)
SEQUEL.ONE
11 февраля 2018, 12:15
modx.pro
664
0