20 октября 2016, 07:31 Как написал Александр, массив должен быть одномерным, т.е. /*array { ["value"]=> "Название параметра" ["count"]=> "3" }*/ array { ["Название параметра"]=> "3" } /*array { ["value"]=> "Название параметра 2" ["count"]=> "3" }*/ array { ["Название параметра 2"]=> "3" }Если несколько массивов, то лучше их объединить и передать в toPlaceholders $arrOne = array ( "placeholderOne" => "3" ); $arrTwo = array ( "placeholderTwo" => "5" ); $array = array_merge($arrOne,$arrTwo); $modx->toPlaceholders($array); //также можно указать любой префикс $modx->toPlaceholders($array, 'my.'); Вопросы / Добавить массив в плейсхолдер 15 0
20 октября 2016, 07:19 Это бесплатный компонент, не нравится, не используй, или дай объявление в раздел объявлений о работе.Как-то Вы не правильно судите, я пытаюсь разобраться в баге(если конечно он таковой) не только для себя ведь, а Вы говорите бросай и принимай как есть. Странный Вы человек. Вопросы / Какая-то неверная работа PdoMenu 15 +2
19 октября 2016, 23:57 Василий, дай пожалуйста комментарий по этому поводу Вопросы / Какая-то неверная работа PdoMenu 15 +1
17 октября 2016, 12:38 блин, сразу забыл написать Почему при использование prepareSnippet в pdoMenu, не обрабатывает первую запись?? joxi.ru/Vm65XJLTxOw59r [[!pdoMenu? &parents=`0` &prepareSnippet=`trRes` ]]Пробовал такое в pdoResources, там все ок joxi.ru/Dr8WkgZIkxQ3vA код сниппета $row['menutitle'] = 'newTitle / '.$id; //$row['pagetitle'] = 'newTitle / '.$id; return serialize($row); Новые дополнения и их версии / [pdoTools] Версия 2.2 c модификаторами Fenom 39 0
17 октября 2016, 11:51 Подскажите пожалуйста есть модель <?xml version="1.0" encoding="UTF-8"?> <model package="translator" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" phpdoc-package="translator" version="1.1"> <object class="trItem" extends="modResource"> <field key="translations" dbtype="text" phptype="text" null="true" default=""/> </object> </model>Как сделать так чтобы в чанках допустим pdoResource или pdoMenu, поле translations выводилось как плейсхолдер? пробовал [[!pdoMenu? &parents=`0` &select=`{"modResource":"*"}` &tpl=`tpl.trans.item` ]]Работает, но при этом подключается content, хотелось бы узнать решение чтобы к выборке добавлялось только поле translations Так делать как бы не очень выход, потому что мало ли в чанке используются другие поля, я то понимаю, что если надо в select дописать, а вот другой может не понять. &select=`{"modResource":"id,pagetitle,translations "}`есть ли какое либо изящное решение? Новые дополнения и их версии / [pdoTools] Версия 2.2 c модификаторами Fenom 39 0
07 октября 2016, 20:32 Понял, ты как и советовал мне Илья Уткин, в ответе создаешь новые элементы. Ух, буду разбираться в ExtJs Как сделаю отпишу здесь, вдруг кому пригодиться) Спасибо Сергей, как всегда выручаешь! Вопросы / Манипулирование ExtJs на лету через процессор 5 0
07 октября 2016, 19:18 Ребят, никто не сталкивался с таким? Вопросы / Манипулирование ExtJs на лету через процессор 5 0
04 октября 2016, 14:20 Все же хотелось бы получить массив и передать его функцию для создания полей, но похоже придется делать как ты говоришь и тут еще заний extJs придется набрать) Тему создал modx.pro/help/9977/ Вопросы / Подскажите, пожалуйста, как установить значение поля, сделав запрос на сервер? 9 0
02 октября 2016, 15:48 подскажите пожалуйста: суть: Создание textfield на лету при создание(редактирование) записи, т.е. При нажатии Добавить, всплывает окно в котором на лету созданные textfield, к примеру 3 штуки, а если это UPDATE то и их значение соответственно, помимо этого есть поля не созданные на лету. При сохранение отправляется в процессор, в котором поля созданные на лету колбасятся в JSON и записыватся в 1 колонку БД. Вот столкнулся сразу же с проблемой Есть процессор, в нем получаю массив полей foreach ($arr as $value) { $fields[] = array( 'xtype' => 'textfield', 'fieldLabel' => $value['code'], 'name' => $value['code'], 'id' => "config.id + '-".$value['code']."'", 'anchor' => "99%", 'allowBlank' => "false", 'value' => '' ); } return $this->success('ok',$fields);Обращаюсь к этому процессору и хочу вставить в функцию определения полей getFields: Ext.extend(Trans.window.CreateItem, MODx.Window, { getFields: function (config) { var fieldsArr = ''; MODx.Ajax.request({ url: Trans.config.connectorUrl ,params: { action: "mgr/tr_data/get_fields", id_res: MODx.request.id, createAction: true } ,listeners: { success: {fn: function(response) { //console.log(response); fieldsArr = response['object']; console.log(fieldsArr+ 'success'); }, scope: this} } }); console.log(fieldsArr + ' - массив полей'); return [{ xtype: 'textfield', fieldLabel: _('trans_lang_name'), name: 'name', id: config.id + '-name', anchor: '99%', allowBlank: false, }, { xtype: 'textfield', fieldLabel: _('trans_lang_code'), name: 'code', id: config.id + '-code', allowBlank: false, anchor: '99%' }, { xtype: 'xcheckbox', boxLabel: _('trans_lang_active'), name: 'active', id: config.id + '-active', checked: true, }]; }, loadDropZones: function () { } }); Ext.reg('trans-item-window-create', Trans.window.CreateItem);Ajax запрос отрабатывает позже чем весь код, поэтому console.log(fieldsArr + ' — массив полей'), не выводит массив. Если получить массив полей, то наверно лучше его обработать в js, а не выдавать id: config.id + '-name', в php? Подскажите как быть с запросом к процессору, может в плагине раньше получать, но тогда я не смогу получить текущее value при апдейте. Вопросы / Подскажите, пожалуйста, как установить значение поля, сделав запрос на сервер? 9 0
30 сентября 2016, 13:52 О как) Посмотрел MODx.request, получается из get берется. Вот по extJs modx'а мало что-то доков или я плохо ищу, посоветуешь что нибудь? Насчет connectorUrl проглядел) вот что значит не подумав скопировать) Еще раз спасибо Сергей! Для разработчиков / Процессоры в MODX 26 0
30 сентября 2016, 12:07 Это мой первый компонент и я думал под танцы с бубном он передается автоматически)) Спасибо большое Сергей! все получилось, подсмотрел в других компонентах Сделал так: В плагине создал запись $modx->controller->addHtml('<script type="text/javascript"> Trans.config = ' . $modx->toJSON($Trans->config) . '; Trans.config.res_id = "'.$resource->get('id').'"; Trans.config.connector_url = "' . $Trans>config['connectorUrl'] . '"; '.$trConfig.' </script> ');в js Trans.grid.Items = function (config) { Ext.applyIf(config, { url: Trans.config.connector_url, ***** baseParams: { action: 'mgr/transitems/getlist' , res_id: Trans.config.res_id }, ***** Для разработчиков / Процессоры в MODX 26 0 1
30 сентября 2016, 10:58 модель такая: <object class="trItem" extends="modResource"> <composite alias="Trans" class="trItemData" local="id" foreign="id_res" cardinality="many" owner="local" /> </object> <object class="trItemData" table="translator_data" extends="xPDOSimpleObject"> <field key="id_res" dbtype="int" precision="10" phptype="integer" null="false" default=""/> /***еще поля***/ <aggregate alias="TranMain" class="trItem" local="id_res" foreign="id" cardinality="one" owner="foreign" /> </object>теперь запускается процессор на панели ресурса(modx-resource-tabs) getlist — trItemData, в котором получаю объекты trItemData, но проблема в том, что получаю все объекты всех ресурсов. Отсюда становится понятно, что надо указывать id текущего ресурса для выборки объектов trItemData(собственно поле id_res для этого и делал), но вот как получить для where id текущего ресурса никак не пойму. Проще говоря как получить объекты trItemData только текущего ресурса(trItem)? Для разработчиков / Процессоры в MODX 26 0
29 сентября 2016, 23:09 Никак не могу понять как получить id ресурса в функции prepareQueryBeforeCount для процессора modObjectGetListProcessor public function prepareQueryBeforeCount(xPDOQuery $c) { $resource_id = intval($this->getProperty('resource_id')); $c->where(array('id' => $resource_id)); return $c; }причем если указать явно $resource_id = 1 работает. И сразу еще вопрос только для процессора modObjectGetProcessor Подскажите как там получать и возвращать данные, немного не понял его. Для разработчиков / Процессоры в MODX 26 0
23 сентября 2016, 11:03 или придется везде в шаблонах вызовы менять?Придется, т.к. вы меняете одно на другое, т.е. к примеру надо будет [[+tv.pole]] поменять на [[+pole]] везде. Как выход создать поле через систему плагинов, потом скриптом быстренько пройтись и скопировать из ТВ в это поле — это лучший вариант, т.к. лазать в коде минишопа и что-то там менять бывает черевато мне кажется:) Вопросы / Вывод колонок в miniShop2 12 0
22 сентября 2016, 20:37 это не помогает? joxi.ru/12M7daEC4e9jJr При условии конечно, что вы добавили поля через плагины(расширения) минишоп вот инструкция: docs.modx.pro/components/minishop2/development/plug-ins-products Вопросы / Вывод колонок в miniShop2 12 0
22 сентября 2016, 16:43 Мое упущение. Проверил не работает, автор не врет)) Вопросы / Ошибка setPlaceholder 19 +1
22 сентября 2016, 16:13 Только что работал с плейсхолдером из плагина, MODX 2.5.0 В плагине: $modx->setPlaceholders(array('testPlaceholder' => 3),'ge.');На странице [[+ge.testPlaceholder:is=`1`:then=`Один`:else=`Не равно одному`]] Результат: Не равно одному если ставлю = 1, то выводит Один Вопросы / Ошибка setPlaceholder 19 0
19 сентября 2016, 19:33 Тут наверно к создателю магазину надо обратиться, к Василию. У меня еще недавно были глюки с датами создания и публикации. Вопросы / minishop2-2.4.3-pl + MODX 2.5.1 - трабл с опциями 10 0
17 сентября 2016, 22:32 Сергей, при установленном AjaxManager вот такая беда joxi.ru/V2VRXy4u09EPd2 + Права доступа показываются от предыдущего ресурса. При полной перезагрузке страницы все норм. Так и не отстану со своим AjaxManager )) Новые дополнения и их версии / [adminTools] Кэш ресурса и заметки админа 3 0
17 сентября 2016, 22:28 Скорее всего это связанно с методом save() для ресурса Когда опции разрабатывались, я тогда сделал магазин на онове альфы версии 2.3.0. Потом нужно было написать парсер по файлу csv, его как бы написал. Но вот с сохранением характеристик была беда… При вызове метода save $obj->save();Затирались все характеристики. Пришлось сначала искать характеристику засовывать в массив, потом сохранять ресурс, потом опять присваивать характеристики — ужас был… Вроде это пофиксили(если смотреть логи) Вопросы / minishop2-2.4.3-pl + MODX 2.5.1 - трабл с опциями 10 0
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
Если несколько массивов, то лучше их объединить и передать в toPlaceholders
Почему при использование prepareSnippet в pdoMenu, не обрабатывает первую запись??
joxi.ru/Vm65XJLTxOw59r
Пробовал такое в pdoResources, там все ок
joxi.ru/Dr8WkgZIkxQ3vA
код сниппета
есть модель
Как сделать так чтобы в чанках допустим pdoResource или pdoMenu, поле translations выводилось как плейсхолдер?
пробовал
Работает, но при этом подключается content, хотелось бы узнать решение чтобы к выборке добавлялось только поле translations
Так делать как бы не очень выход, потому что мало ли в чанке используются другие поля, я то понимаю, что если надо в select дописать, а вот другой может не понять.
есть ли какое либо изящное решение?
Ух, буду разбираться в ExtJs
Как сделаю отпишу здесь, вдруг кому пригодиться)
Спасибо Сергей, как всегда выручаешь!
Тему создал modx.pro/help/9977/
суть: Создание textfield на лету при создание(редактирование) записи, т.е. При нажатии Добавить, всплывает окно в котором на лету созданные textfield, к примеру 3 штуки, а если это UPDATE то и их значение соответственно, помимо этого есть поля не созданные на лету.
При сохранение отправляется в процессор, в котором поля созданные на лету колбасятся в JSON и записыватся в 1 колонку БД.
Вот столкнулся сразу же с проблемой
Есть процессор, в нем получаю массив полей
Обращаюсь к этому процессору и хочу вставить в функцию определения полей getFields:
Ajax запрос отрабатывает позже чем весь код, поэтому console.log(fieldsArr + ' — массив полей'), не выводит массив. Если получить массив полей, то наверно лучше его обработать в js, а не выдавать id: config.id + '-name', в php?
Подскажите как быть с запросом к процессору, может в плагине раньше получать, но тогда я не смогу получить текущее value при апдейте.
Насчет connectorUrl проглядел) вот что значит не подумав скопировать)
Еще раз спасибо Сергей!
Спасибо большое Сергей! все получилось, подсмотрел в других компонентах
Сделал так:
В плагине создал запись
в js
теперь запускается процессор на панели ресурса(modx-resource-tabs) getlist — trItemData, в котором получаю объекты trItemData, но проблема в том, что получаю все объекты всех ресурсов. Отсюда становится понятно, что надо указывать id текущего ресурса для выборки объектов trItemData(собственно поле id_res для этого и делал), но вот как получить для where id текущего ресурса никак не пойму.
Проще говоря как получить объекты trItemData только текущего ресурса(trItem)?
причем если указать явно $resource_id = 1 работает.
И сразу еще вопрос только для процессора modObjectGetProcessor
Подскажите как там получать и возвращать данные, немного не понял его.
Как выход создать поле через систему плагинов, потом скриптом быстренько пройтись и скопировать из ТВ в это поле — это лучший вариант, т.к. лазать в коде минишопа и что-то там менять бывает черевато мне кажется:)
joxi.ru/12M7daEC4e9jJr
При условии конечно, что вы добавили поля через плагины(расширения) минишоп вот инструкция:
docs.modx.pro/components/minishop2/development/plug-ins-products
В плагине:
На странице
Результат: Не равно одному
если ставлю = 1, то выводит Один
У меня еще недавно были глюки с датами создания и публикации.
joxi.ru/V2VRXy4u09EPd2
+ Права доступа показываются от предыдущего ресурса. При полной перезагрузке страницы все норм.
Так и не отстану со своим AjaxManager ))
Когда опции разрабатывались, я тогда сделал магазин на онове альфы версии 2.3.0. Потом нужно было написать парсер по файлу csv, его как бы написал. Но вот с сохранением характеристик была беда…
При вызове метода save
Затирались все характеристики.
Пришлось сначала искать характеристику засовывать в массив, потом сохранять ресурс, потом опять присваивать характеристики — ужас был…
Вроде это пофиксили(если смотреть логи)