Lori

Lori

С нами с 13 октября 2014; Место в рейтинге пользователей: #350
Lori
27 апреля 2021, 07:52
0
Пробовал так через where — не работает. Просто ресурс с id 615 — это дедушка, а у него есть куча дочерних, у которых куча своих дочерних ресурсов.
Lori
27 апреля 2021, 07:39
0
сайт не мой, дали задание реализовать возможность исключения дедушки именно с getresources
Lori
27 апреля 2021, 07:35
0
интересное решение, надеюсь еще актуальное. благодарю
Lori
27 апреля 2021, 04:36
0
За то, что я написал вопрос, что мне Конкретно требуется, а не такой подгон в виде простого перечисления ресурсов. И где тут направление омг? Об этом даже догадываться не надо, чтобы понимать, что есть такой вариант решения. Только наверное если бы я мог свой сниппет написать — уже бы сделал, а раз я вопрос тут задал, то наверное не могу, к сожалению, знания не позволяют. А ты тут предлагаешь 50+ ресурсов (и это пока) перечислить в сниппете, а потом ещё контент менеджеру каждый раз при добавлении страницы, исключать ее из этого сниппета — это же велосипед. А вот ты, обиженное дитя, взял и вопросу просто так в ответ поставил минус, хотя мне в принципе пофиг.
Lori
26 апреля 2021, 09:19
0
вот код. только сомневаюсь, что он вам подскажет как исключить дедушку в where
[[!pdoPage@news?
&elementClass=`modSnippet`
&showHidden=`0` 
&element=`getResources`								 
&parents=`0` 
&depth=`10`
&where=`{"template:=":3}`
&limit=`12` 
&pageVarKey=`page` 
&includeTVs=`1` 
&includeContent=`1` 
&tpl=`news2`
]]
Lori
26 апреля 2021, 09:13
0
омг… так я же написал, что их на текущий момент только 50 и еще будут пополняться в будущем. поэтому я наверное и спрашиваю решению «как исключить дедушку», а не «как перечислить все ресурсы»
Lori
26 апреля 2021, 09:05
0
в getresources так парент не исключается, а только через where
Lori
26 апреля 2021, 06:02
0
это исключает только этот ресурс, а мне нужно исключить всех потомков этого ресурса, которые более 50
Lori
15 апреля 2021, 10:39
0
на тостере я практически на каждый отвечаю по возможности. вот если бы там сделали кураторов, как в топовых тегах
Lori
14 апреля 2021, 22:06
+1
1. При обновлении/изменении заметки после сохранения, чтобы открывалась страница заметки, а не оставалась открытой станица редактора.
2. В поиске сделать возможность выбора раздела, где вести поиск (вопросы, новые дополнения, работа и т… д)
Lori
14 апреля 2021, 05:23
0
спасибо, нашел эту статью вчера, вот пытаюсь применить.
Lori
14 апреля 2021, 05:22
0
да, конечно, главное сделать)
Lori
13 апреля 2021, 21:54
0
я предлагал простой способ в виде дополнения Collections, но он не захотел такой удобный вид. Хочет именно dropdown лист. С другой стороны интересная задача, с которой я уже двое суток сижу)
Lori
13 апреля 2021, 21:08
0
так это итак есть) вся соль в том, что клиент жалуется, мол когда надо редактировать много новостей, то уходит много времени, чтобы открыть новость, вставить нужные id в поле tv и сохранить. Поэтому он и попросил сделать возможность редактирования tv дочерних ресурсов внутри родительского
Lori
13 апреля 2021, 20:36
0
я бы тоже, но клиент есть клиент…
Lori
13 апреля 2021, 10:05
0
возможно дело в том, что плагин работает при событии OnDocFormRender, а в вашем примере OnDocFormPrerender. Сейчас проверю
Lori
13 апреля 2021, 09:54
0
не работает к сожалению ваш пример. теперь вкладка нигде не выводится в принципе
Lori
13 апреля 2021, 09:51
0
правильно ли я сделал:
Ext.ComponentMgr.onAvailable('modx-panel-resource', function(){
//Подключаем по id
if(this.record.id == 452) {
тут остальной код tab.js
}
});
Lori
13 апреля 2021, 09:41
0
а, нет пардон, не получилось.
код плагина:
<?php

if($modx->event->name != 'OnDocFormRender') return '';

$modx->controller->addLastJavascript('/assets/components/mynamespace/js/tab.js');
Код tab.js:
Ext.override(MODx.panel.Resource, {
   getParentFields: MODx.panel.Resource.prototype.getFields,
    
   getFields: function(config){
       
       var parentFields = this.getParentFields.call(this, config);
       
       for(var i in parentFields) {
           var item = parentFields[i];
           
           if(item.id == 'modx-resource-tabs') {
               item.items.push({
                    id: 'my-custom-tab'
                    ,autoHeight: true
                    ,title: 'Редактирование новостей'
                    ,layout: 'form'
                    ,anchor: '100%'
                    ,items: [{
                        html: '<p>Тут можно привязать товары к новостям</p>'
                        ,bodyCssClass: 'panel-desc'
                        ,border: false
                    },{
                        layout: 'column',
                        width: '100%',
                        anchor: '100%',
                        cls: 'main-wrapper',
                        items: [{
                            columnWidth: .5,
                            items: [{
                                xtype: 'numberfield',
                                fieldLabel: '<span>Выберите новость</span>',
                                width: '100%',
                            }]
                        }, {
                            columnWidth: .5,
                            items: [{
                                xtype: 'textfield',
                                fieldLabel: '<span>Введите ID товаров через запятую</span>',
                                width: '100%',
                            }]
                        }]
                    }]
               });
           }
       }
       
       return parentFields;
   } 
});
где мне в tab.js проверить id ресурса?