Andrei D.

Andrei D.

С нами с 09 января 2014; Место в рейтинге пользователей: #54
Andrei D.
10 апреля 2017, 11:08
3
0
ну или эпичней
<?php
$id = $modx->resource->get('id');
$depth .= count($modx->getParentIds($id));
$level = 'level_';
$chunk = $modx->getOption($level.''.$depth,$scriptProperties, '');
if (preg_match('/^@INLINE/',$chunk)) {
    return substr($chunk, 7);
}
* на всякий тоже можно оставить
} else {
      return $modx->getChunk($chunk);
}


[[!hi?
&level_1=`@INLINE hi`
&level_2=`@INLINE hello`
&level_3=`@INLINE good`
]]
Andrei D.
10 апреля 2017, 10:34
0
<3 google
$id = $modx->resource->get('id');
$levelcount = count($modx->getParentIds($id));
$output .= $levelcount;
return $output;
Andrei D.
10 апреля 2017, 10:12
+1
вери олд) в комментах
modx.pro/help/3034/
Andrei D.
10 апреля 2017, 07:14
0
Не смущайтесь, а используйте так как написано выше. Плагин 100% рабочий и универсальный (под несколько таблиц), если вы не будете ничего трогать. Вбейте свои поля в плагин, user_attributes, поставьте на событие OnMODXInit и всё.
Andrei D.
09 апреля 2017, 23:06
1
0
попробуйте такой плагин
с extJS не работал и не собираюсь, так как для менеджера делаю всегда страницы управления во фронте, где можно те же данные юзеров смотреть и изменять

<?php
switch ($modx->event->name) {
    case "OnMODXInit":
        $map = array(

            'modUserProfile' => array(
                'fields' => array(
                    'firstname' => '',
                    'lastname' => '',
                    'company' => '',
                    'profile_type' => '',
                ),
                'fieldMeta' => array(
                    'firstname' => array(
                        'dbtype' => 'varchar',
                        'precision' => '100',
                        'phptype' => 'string',
                        'collation' => 'utf8_general_ci',
                        'null' => false,
                    ),
                    'lastname' => array(
                        'dbtype' => 'varchar',
                        'precision' => '100',
                        'phptype' => 'string',
                        'collation' => 'utf8_general_ci',
                        'null' => false,
                    ),
                    'company' => array(
                        'dbtype' => 'varchar',
                        'precision' => '100',
                        'phptype' => 'string',
                        'collation' => 'utf8_general_ci',
                        'null' => false,
                    ),
                    'profile_type' => array(
                        'dbtype' => 'int',
                        'precision' => '10',
                        'phptype' => 'string',
                        'attributes' => 'unsigned',
                        'null' => false,
                    ),
                ),
            ),
        );

        foreach ($map as $class => $data) {
            $modx->loadClass($class);

            foreach ($data as $tmp => $fields) {
                if ($tmp == 'fields') {
                    foreach ($fields as $field => $value) {
                        foreach (array('fields', 'fieldMeta', 'indexes') as $key) {
                            if (isset($data[$key][$field])) {
                                $modx->map[$class][$key][$field] = $data[$key][$field];
                            }
                        }
                    }
                } elseif ($tmp == 'composites' || $tmp == 'aggregates') {
                    foreach ($fields as $alias => $relation) {
                        if (!isset($modx->map[$class][$tmp][$alias])) {
                            $modx->map[$class][$tmp][$alias] = $relation;
                        }
                    }
                }
            }
        }
        break;

}
Andrei D.
09 апреля 2017, 22:28
+1
[[!mSearch2?   
&element=`Tickets`
&showHidden=`1`
&includeContent=`1`
&ajax=`1`
&ajaxMode=`button`
&tpl=`Tickets_tpl`
&nestedChunkPrefix=`tickets_`
]]
mSearch2 из коробки работает с pdoPage
Andrei D.
17 марта 2017, 15:06
+4
этот коммент написал вирус
Andrei D.
06 марта 2017, 21:14
+1
Надеюсь, Иван Климчук не будет против, если я поделюсь тестовым пакетом mspWebPay. В нем, если мне не изменяет память, как раз таки POST
Hope it helps drive.google.com/open?id=0B3Je-llZqFq-cU13X3dCQjFndTg

Вот тут еще полезный топик modx.pro/help/7123/
Andrei D.
06 марта 2017, 01:12
0
Есть какое-нибудь решение данного вопроса?
Andrei D.
04 марта 2017, 17:10
+1
Молодцы! Очень здорово, что благодаря спонсорам и активным участникам сообщества, такой эвент стал возможным
странно, что на modx.com отвалился сертификат для cdn #zog
Andrei D.
02 февраля 2017, 22:07
0
1000 = 1k
10000 = 10k
100000 = 100k
1000000 = 1kk

это общепринятые в it сфере обозначения. откройте твиттер и удивитесь
Andrei D.
02 февраля 2017, 14:56
0
cd modnodejs-packages/
npm link modnodejs-server
и unlink при обновлении modnodejs-server'а, чтобы не пересобирать modnodejs-packages

или это как-то по-другому работает?
Andrei D.
02 февраля 2017, 12:13
+2
Если у вас есть qiwi кошелек, отправил бы «спасибку» туда. Через яндекс не получается
Andrei D.
02 февраля 2017, 12:01
0
Никита, может я чего-то не понимаю, но почему добавление файлов в /plugins потерпело крах?
Есть ведь модуль modnodejs-server, в нем можно прописать конфиг, а также функцию на просмотр и возврат содержимого директории.
А в самой директории уже файлы .js с кастомными эвентами. Запрос идет только к modnodejs-server, где модуль работает только как мост между файлами из папки

upd. чтобы при обновлении npm вся папка не затиралась, может сделать подключаемые эвенты отдельным пакетом? и тогда перед обновлением делать unlink, а потом снова link
Andrei D.
30 января 2017, 22:52
0
Тоже по неопытности вносил изменения в контроллеры minishop2, ровно до того момента, когда обнаружив новую версию, нажал на «обновить», и все мои изменения стерлись :) Теперь вношу правки только в классы оплаты, где меняю msorder на order, ну и использую свой сниппет msGetOrder, который ловит ?order и добавляет еще текстовый плейсхолдер с текстом ошибки показа заказа для посторонних
Andrei D.
29 января 2017, 09:38
0
Вообщем, расширил ms2_order_addresses таблицу плагином + добавил на событие оплаты сохранение поля gmt непосредственно в user_attributes, а не в таблице адресов. Все работает прекрасно за исключением
'gmt' => 'gmt',
в сниппете, т.к. обновляться на новые версии будет проблематично
Andrei D.
29 января 2017, 09:07
0
UPD:
<select name="{$field}" id="{$field}" value="{$form[$field]}">
{var $gmt_field = $form[$field]}
{$_modx->getChunk('options-timezones', [
'gmt' => $gmt_field,
])}
</select>
Andrei D.
29 января 2017, 08:55
0
Неужели ни у кого нет полей в заказе с чекбоксами/селектами?