Николай Савин

Николай Савин

С нами с 06 июня 2015; Место в рейтинге пользователей: #5
Николай Савин
20 февраля 2019, 14:03
2
+1
В админке на каждой странице каждое поле отдельно жестко прописано, с указанием всех свойств (строка, текст, число). Это сделано в js массиве.
Если ты что то новое добавляешь в карту объекта и базу данных (уточню на всякий случай что еще и таблицу базы данных нужно расширять ручками) — то так же ручками нужно добавлять новый дополнительный код в js массив полей.
Обычно делают отдельный плагин, чтобы не вносить правки в исходный код MODX.
Вот пример, прямо из рабочего проекта дернул
switch ($modx->event->name){
case 'OnDocFormPrerender':
        $modx->controller->addHtml("
            <script type='text/javascript'>               
                
             Ext.ComponentMgr.onAvailable('modx-panel-resource', function(){                 
                 if(this.items[1].items[0].id == 'minishop2-product-tab'){
                       var leftCol = this.items[1].items[0].items[0].items[0].items[0].items[0].items[0].items[0];
                 }else{
                      if(this.items[1].items[0].id== 'modx-resource-settings'){
                         var leftCol = this.items[1].items[0].items[0].items[0];
                     }
                     if(this.items[1].items[1].id == 'modx-resource-settings'){
                         var leftCol = this.items[1].items[1].items[0].items[0];
                     }                    
                     
                 } 
                 
                 var kz_title = {
                   anchor: '100%',
                   description: '<b>[[*kz_title]]</br>Заголовок на казахском</b>',
                   fieldLabel: 'Заголовок на казахском',
                   id: 'modx-resource-kz-title',
                   maxLength:255,
                   msgTarget: 'under',
                   name:'kz_title',
                   xtype:'textfield'
                }
                
                leftCol.items.splice(2, 0,  kz_title); 
                
                var kz_description = {
                   anchor: '100%',
                   description: '<b>[[*kz_description]]</br>Описание на казахском</b>',
                   fieldLabel: 'Описание на казахском',
                   id: 'modx-resource-kz-description',
                   maxLength:255,
                   msgTarget: 'under',
                   name:'kz_description',
                   xtype:'textarea'
                }
                                               
                leftCol.items.splice(4, 0,  kz_description);
                
                
                
            });
        </script>");
        break;
}
На выходе получилось вот так prntscr.com/mnm25m
Николай Савин
19 февраля 2019, 20:02
0
Думаю Это тупиковая ветвь обсуждения. Потому как мысль изначально неверная. Для каждого отдельного сотрудника заводится отдельный пользователь с нужными правами, который при необходимости блокируется или удаляется. Вот и все.
Николай Савин
19 февраля 2019, 19:44
0
Не скажи. Лишняя библиотека при загрузке сайта. Лишний раздражающий логотип сбоку, лишняя головная боль при последующей поддержке. Опять же при настройке лишний гемор. Короче делай как знаешь, но я уже с год как отказался и не жалею.
Николай Савин
19 февраля 2019, 19:28
+1
О, я не знал что с отключенным полем можно работу работать. Спасибо Жень.
Николай Савин
19 февраля 2019, 19:27
0
Потому что это лишние раздражающие действия для посетителей. А csrf токен работает в тени и пользователю делать ничего не нужно дополнительно. Пользоваться им не сложно.
Подробнее у Сергея Шлокова
Николай Савин
19 февраля 2019, 15:31
0
Я бы на вашем месте вообще не пользовался капчей. От спама прекрасно защищает csrf токен, по аналогии с Laravel
Николай Савин
19 февраля 2019, 14:55
0
Автор может меня поправить, но думаю только такой вариант есть. Дело в том, что метки времени в базе лежат в другом формате, и seoFilter просто не умеет корректно заносить в словарь даты. Не знает какой формат нужен. Так что только вручную.
Николай Савин
18 февраля 2019, 10:57
+1
Здравствуйте. Вопрос неоднозначный. Автор компонента сменился. Теперь он у меня на поддержке, но возможности проверить работу компонента в деле не было. Давайте у Вас и проверим. Если вдруг что-то не будет работать, в рамках техподдержки можем доработать компонент до рабочего состояния.
Николай Савин
15 февраля 2019, 20:54
0
Илья… бронируй два места в самолете.
Николай Савин
15 февраля 2019, 19:50
0
Еще не одного маньяка не встречал, который бы признался, что специально следит и недоброе задумал. Илья — срочно меняй внешность и документы и беги за границу.
Николай Савин
14 февраля 2019, 12:34
0
В этом и смысл публикации. На здоровье.
Николай Савин
06 февраля 2019, 08:56
+1
Как по мне проще и правильнее, по быстрому класс набросать для подключения своих таблиц и использовать XPDO. Здесь уже вступают в силу вопросы стандартизации и унификации, чтобы все на сайте работало по одному принципу.
Николай Савин
06 февраля 2019, 06:59
+1
Как бы XPDO и есть ORM библиотека, не?
Николай Савин
03 февраля 2019, 20:51
+1
Если ты на что то обратил внимание — это автоматически становится странным и важным. Конкретно в твоем случае еще и уязвимым )).
Николай Савин
02 февраля 2019, 07:59
0
Не слушай Михаила, он больше по кулинарии. Кладешь файлы в каталог assets компонента (там любую структуру по вкусу организуешь) — все файлы автоматически скопируются на сайт при установке.
Николай Савин
02 февраля 2019, 07:57
+1
Без разницы. Не в ту сторону смотришь. SEOFilter умеет создавать виртуальные страницы с конкретной подборкой товаров, с собственным url адресом и уникальным seo контентом. Ты можешь дать такую ссылку клиенту, можешь разместить в блоге и такие переходы поисковики вполне неплохо заметят и проиндексируют.

А еще можно включить подобные SEO страницы в sitemap.xml и получить дополнительную индексируемую базу страниц.
У меня на сайте к примеру всего штук 20 физических страниц-категорий. А с помощью SEOFilter я их нагенерировал несколько тысяч, исходя из разных сочетаний нескольких фильтров.
Николай Савин
30 января 2019, 11:19
0
Нельзя, мне жена не разрешает.