Content Editor Tools 0.8 и тема для админки

Что-то я зачастил, так что постараюсь покороче. Вот картинка, которая всё объясняет:




Внутри: новый плагин CET Builder, удобная тема для админки и обновлённые AssetsTV и CKEditor.


Builder
Как я тут недавно писал, у всех RTE есть проблема — они не понимают когда вы хотите вставить в документ скрипт, комментарий или теги MODX, и оборачивают всё это дело в свой корневой тег (обычно p). Для решения этой проблемы я запихал в поле Content не только RTE, но и CodeMirror (хотел Ace, но что-то пошло не так). Они там живут рядом друг с другом. Ну, всё видно на картинке. Я назвал это дело CET Builder, потому как однажды он может вырасти и стать прям настоящим Page Builder'ом типа Content Blocks. А может и нет.

Пока он ещё маленький (неделя от первой строчки кода), он может тупить тормозить и глючить. Я предупредил. Но я старался.

Assets TV
Так как с Билдером у нас одна textarea для контента превращается в несколько, потребовалось обновить и AssetsTV, чтоб он знал куда вставлять файлики. Кроме того, по просьбам трудящихся, даблклик теперь срабатывает только при клике на иконку — в текстовых полях с описанием файла можно даблкликать сколько угодно.

CKEditor — так как Билдер ещё слишком сырой, да и вообще не факт что кому-то нужен :-)
Некоторые фишки из Билдера переехали в CKEditor. Там несколько переписан код, добавилось:
  • «липкий» тулбар
  • возможность указать свои плагины и опции для CKEditor'а
  • Возможность вставить свой CSS.

Тема для админки
Ну, это, по-моему, мастхэв. Вообще, она сделана для удобной работы с «липким» тулбаром. Но она решает проблемы с постоянно вылетающим верхним меню! Сколько раз вы случайно переходили куда-то не туда, когда это меню внезапно появлялось? Кроме того, если вы поддерживаете несколько сайтов (порой одновременно), то теперь вы можете изменить файлик cusomizeme.css в папке с темой, и ваши админки будут как-то отличаться друг от друга.

Транспортные пакеты:
Builder: yadi.sk/d/6Qclcj2XojjLx
AssetsTV: yadi.sk/d/oCMAtOOxojjMG
CKEdtior: yadi.sk/d/MQ12YJr_ojjLt
Тема cet: yadi.sk/d/1UPK3FhTojjM5

P.S.: Builder убил кучу времени и я так и не разобрался как пользоваться github'ом. Сейчас я этим займусь.
P.P.S: Кнопочка «Donate» появится на странице этих плагинов, когда та будет сделана, а плагины будут доведены до адекватного состояния. Тогда же я попробую разместить их в репозиториях. Пока же, если у вас возникло желание поблагодарить меня материально, запомните это чувство. :-)
Денис Дыранов
12 февраля 2016, 18:29
modx.pro
12
7 411
+14

Комментарии: 63

Stan Ezersky
12 февраля 2016, 22:27
0
Слежу за расширениями, огромный плюс теме!

Посмотрите GitHub Desktop, довольно простая и удобная штука под Windows.
    Денис Дыранов
    12 февраля 2016, 22:31
    0
    У меня мак. Но я найду что-нибудь. На хабре по гитхабу хорошая статься. Просто времени не было.
    @ndrew
    13 февраля 2016, 01:02
    0
    Автору огромный респект! Так же слежу за расширениями!
      @ndrew
      13 февраля 2016, 02:26
      0
      При обновлении на cetassetstv-0.8 перестали добавляться в контент картинки даже по иконке.
      cetckeditor-0.8 тоже обновлен. Но если поставить cetassetstv-0.7 то даже с cetckeditor-0.8 все работает как раньше.
      @ndrew
      13 февраля 2016, 02:45
      0
      И не понял как ставить тему.
        Владимир
        13 февраля 2016, 03:56
        0
        В настройках системы, после того как вы установите пакет, найдите manager_theme и смените тему по умолчанию
        Однако, я должен заметить, что тема жутко кривая. После установки на 2.4.3 пропали все пункты верхнего меню. Не рекомендую ставить на рабочий проект.
          Владимир
          13 февраля 2016, 04:15
          0
          Ошибочно сказал о кривизне темы. Если можно, прошу Василия удалить мой комментарий.
            @ndrew
            13 февраля 2016, 04:18
            0
            Спасибо за развернутый ответ. У меня тоже 2.4.3 и тема встала как надо, там и не должно быть пунктов верхнего меню как я понял, все находиться с боку слева. Меня больше интересует добавление картинок в контент с cetassetstv 0.8, которое перестало работать. У Вас работает?
              Борода
              12 марта 2016, 21:17
              0
              У меня в настройках manager_theme можно выбрать только default. Что Я делаю не так?) Сама тема установилась)
                Борода
                12 марта 2016, 21:38
                0
                Разобрался) У меня папка manager переименована) А тема в стандартную устанавливается)
              Владимир
              13 февраля 2016, 04:14
              0
              Поспешил. Поправлю себя :) Извиняюсь перед автором, тема не кривая, меню перенесено влево, в выдвигающуюся панель.
              Увы, увидел, когда предыдущий комментарий уже недоступен для правки.
              PS но решение MODxFixMenu — Раскрытие по клику мне кажется более понятным.
                @ndrew
                13 февраля 2016, 04:24
                0
                Как говориться на вкус и цвет… А тема у автора получилась зачетная, респект!!!
                Очень даже удобно по юзабилити, стоит только привыкнуть как на дефолтную и возвращаться не захочется.
                  Владимир
                  13 февраля 2016, 04:48
                  0
                  Но сразу понятно, что у автора большой монитор, ибо у меня (параметры монитора-браузера и т.п.) не помещается меню во всю высоту, и аватарка, а за ней и пункты меню системных настроек налазят на предыдущие пункты меню
                  Полагаю, что не у меня одного так?
                    @ndrew
                    13 февраля 2016, 05:16
                    0
                    У меня разрешение монитора 1920 х 1080 и все норм. Для вашего разрешения лучше использовать стандартную тему. У Вас cetassetstv 0.8 работает или Вы его не ставили?
                      Денис Дыранов
                      13 февраля 2016, 08:57
                      0
                      Вот такого быть не должно. При 1080 у верхнего меню меню должен появляться скролл. Что за браузер? Фаерфокс?
                        Денис Дыранов
                        13 февраля 2016, 09:24
                        +1
                        Поправил. Файлик обновил.
                  Евгений Шеронов
                  13 февраля 2016, 04:05
                  0
                  Всё опять замечательно! Я про CKEdtior. Остальное ещё не пробовал.

                  Не хочу показаться занудой, но сохранения по CTRL+S всё таки не хватает(

                  Возможно, решение Василия для TinyMce поможет реализовать это: github.com/bezumkin/TypoMCE/tree/master/core/components/typomce/templates

                  И в компоненте tagElementPlugin также добавлено такое сохранение. Где именно это добавляется там — не нашёл. Вот здесь про CTRL+S modx.pro/components/6724-tagelementplugin-adding-new-features/#comment-48107

                  Заранее, спасибо!)
                    @ndrew
                    13 февраля 2016, 04:26
                    0
                    Я думаю если не наседать на автора, а наблюдать за развитием компонента то все будет в будущем ;)
                      Сергей Шлоков
                      13 февраля 2016, 08:36
                      0
                      Кто ищет, тот всегда найдёт.
                        Денис Дыранов
                        13 февраля 2016, 11:10
                        +2
                        Обновил файлик. Попробуйте.
                        Денис Дыранов
                        13 февраля 2016, 12:41
                        0
                        Разбираюсь с гитхабом. Буду тут: github.com/neonoviy
                          @ndrew
                          13 февраля 2016, 23:57
                          0
                          Спасибо все отлично!
                          Борода
                          14 февраля 2016, 11:28
                          0
                          А можно как нибудь научить CKEdtior не делать пустые строки после закрывающихся тегов? И чтобы он тег <cut /> не трогал. Вроде есть кнопка отключения автозавершения тегов. Но не пойму как она работает.
                            Денис Дыранов
                            14 февраля 2016, 12:14
                            0
                            Сомневаюсь. Все теги прописаны в CKEditor.dtd. Там же прописано парные они или нет. О cut он скорее всего ничего не знает. Хотя, возможно есть какой-то плагин. Нужно искать.
                            Василий Одинцов
                            15 февраля 2016, 16:49
                            0
                            Добрый день. Спасибо за компонент, но возникла проблема: CET_CKEditor не хочет отображаться в качестве визуального редактора в MIGX. Ставлю редактором TinyMCE — всё нормально. Можно ли как-нибудь указать куда копать? Заранее спасибо.
                              Денис Дыранов
                              15 февраля 2016, 17:19
                              0
                              Попробуйте узнать селектор у полей MIGX и прописать его, ну, например, на 76 строчке в плагине. Должно получиться что-то типа (следите за запятыми):
                              $light_rte_fields = '.modx-richtext, .MIGXclass,' . $light_rte_fields;
                              .
                                Василий Одинцов
                                16 февраля 2016, 19:48
                                0
                                Спасибо. Заработало.
                                  Димыч
                                  30 сентября 2019, 01:32
                                  0
                                  Не подскажите, как удалось решить проблему? Перепробовал разные варианты — без результата.
                              @ndrew
                              15 февраля 2016, 17:27
                              0
                              Можно сделать что бы тема ставилась из config.inc.php -> $modx_manager_path?
                              А то получается если каталог manager переименован то при установке темы создается каталог manager и приходиться копировать файлы в ручную.
                                Денис Дыранов
                                15 февраля 2016, 17:36
                                0
                                Когда научусь делать транспортные пакеты без использования PackMan'а — так и будет.
                                Evgeny Tarasov
                                16 февраля 2016, 16:18
                                0
                                Отзыв от обычного земного пользователя.
                                Тема работает без нареканий.
                                Разрешение моего тугого ноута: 1366х768
                                  Aliaksandr Katlou
                                  16 февраля 2016, 21:09
                                  0
                                  Небольшая хотелка) Было бы здорово добавить настройку где выезжать меню будет. С лева конечно логично, тк скролла нет, но хочется справа, есть нюансы. В принципе могу и сам доработать, но обновлять потом неудобно. Как вариант могу попробовать сделать и прислать для включения.
                                    Денис Дыранов
                                    16 февраля 2016, 22:16
                                    0
                                    Кроме того, что там скролл, там ещё и основная рабочая область, где велика вероятность вызвать это меню случайно. Я на 99% уверен, что это будет неудобно.
                                    Попробуйте.
                                    Евгений Webinmd
                                    19 февраля 2016, 00:21
                                    0
                                    У меня тут ситуация, непонятная. Разрабатываю сайт в подпапке, там, если использовать для картинок AssetsTV, то путь у них содержит и название этой подпапки (если без подпапок, то всё нормально). Получается что после переноса надо либо перезаливать файлы, либо в базе ручками менять. Не сталкивались с такой проблемой?
                                      Денис Дыранов
                                      19 февраля 2016, 09:03
                                      0
                                      Плохо понял, но путь к файлам хранится только в настройках TV. Так что после переноса вам достаточно будет его поменять в одном месте. Перезаливать ничего не нужно. Но если вы вставляете картинки в контент, то там, возможно, нужно будет править.
                                      Борода
                                      27 февраля 2016, 20:39
                                      0
                                      У меня периодически в журнале ошибок появляется следующее
                                      [2016-02-27 20:19:02] (ERROR @ /manager/index.php) [OnDocFormPrerender] Plugin CET_CKEditor failed!
                                      Хотя use_editor стоит значение — нет. И все правки, соответственно, делались через Асе.
                                      С этим можно что-то сделать?
                                        Евгений
                                        11 марта 2016, 04:22
                                        0
                                        Как скоро появится в репозиториях?)
                                          UDAV
                                          21 марта 2016, 09:05
                                          0
                                          А как сделать чтобы превьюшки создавались?
                                          Пишу в чанке
                                          [[+atv.url:phpthumbon=`w=78&h=52&zc=1&far=C]]
                                          а оно не работает.
                                            Денис Дыранов
                                            21 марта 2016, 09:39
                                            +1
                                            <img src="[[phpthumbon? &input=`[[+atv.url]]` &options=`w=78&h=52&zc=1`]]" />
                                            или можете вызвать assetsTV с пареметром &tmb_max_height, и он посчитает вам размеры превьюшек:

                                            [[!assetsTV? &tv=`assets`&tpl=`assetsTV-tpl-foto-tmb` &tmb_max_height=`52`]]
                                            Тогда в чанке:

                                            <img src="[[phpthumbon? &input=`[[+atv.url]]` &options=`w=[[+atv.thumb_width]]&h=[[+atv.thumb_height]]`]]" />
                                            Tanya
                                            19 мая 2016, 12:07
                                            0
                                            Очень понравилось Ваше расширение!!! Может очень нестандартный вопрос, но где можно было бы перевести слова типа: Insert selected, Upload file, Toggle view, Alt, Description… :) т.к. не не все менеджеры сайта понимают что тут написано. А при заходе в словари выдает ошибку: Fatal error: Uncaught exception 'UnexpectedValueException' with message 'DirectoryIterator::__construct
                                              Денис Дыранов
                                              19 мая 2016, 12:11
                                              +1
                                              На данный момент только в файле /core/components/assetstv/elements/tv/input/tpl/assetstv.tpl Потом будет вынесено в словари.
                                                Tanya
                                                19 мая 2016, 19:53
                                                0
                                                Спасибо за ответ!
                                                А не подскажете с чем могут быть связаны ошибки в логе:
                                                [2016-05-19 18:43:18] (ERROR @ ...\core\components\assetstv\elements\tv\input\assetstv.class.php : 78) PHP warning: implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed
                                                всё работает, но постоянно такие ошибки появляются.
                                              Станислав
                                              01 июня 2016, 00:20
                                              0
                                              Присоединяюсь к РЕСПЕКТАМ АВТОРУ!!! Слежу за расширениями и доволен как слон!
                                                Станислав
                                                01 июня 2016, 00:25
                                                0
                                                Ребята помогите пожалуйста
                                                сборка 2.5.0
                                                s.mail.ru/A1sg/wm4XKZwAe

                                                Лог
                                                [2016-06-01 00:26:26] (ERROR @ /var/www/admin/data/www/demo.site.net/core/components/assetstv/elements/tv/input/assetstv.class.php: 78) PHP warning: implode(): Invalid arguments passed
                                                [2016-06-01 00:26:29] (ERROR @ /var/www/admin/data/www/demo.site.net/core/components/assetstv/processors/browser/file/getlist.class.php: 92) PHP warning: Invalid argument supplied for foreach()
                                                [2016-06-01 00:26:29] (ERROR @ /var/www/admin/data/www/demo.site.net/core/components/assetstv/processors/browser/file/getlist.class.php: 96) PHP warning: array_multisort(): Argument #1 is expected to be an array or a sort flag
                                                [2016-06-01 00:26:47] (ERROR @ /var/www/admin/data/www/demo.site.net/core/components/assetstv/elements/tv/input/assetstv.class.php: 78) PHP warning: implode(): Invalid arguments passed
                                                Станислав
                                                01 июня 2016, 00:31
                                                0
                                                Попробовал по одной кидать, что то закачивает, а что-то нет
                                                s.mail.ru/Jb96/DBkbDUN57

                                                После того как я удалил изображения, и снова их попытался добавить
                                                s.mail.ru/Mu2o/ytz3LhZCF
                                                еще несколько фоток выдали ошибку

                                                А на фронт енде выдало так
                                                s.mail.ru/HA1r/eWYNpSyJa
                                                  Станислав
                                                  01 июня 2016, 01:12
                                                  0
                                                  Установил чистый движок, все тоже самое.
                                                  На локальном сервере все хорошо работает.
                                                  Как так может быть, что какие-то изображения грузит, а какие-то нет?

                                                  Обнаружил, что это менеджер файлов так работает, какие-то изображения грузит, а какие-то нет.
                                                  При чем у всех одинаковое расширение
                                                    Станислав
                                                    02 июня 2016, 09:55
                                                    0
                                                    Нашел причину!!!
                                                    У меня был включен FastCGI (Apache)
                                                    Переключил на обычный Apache, проблема ушла.
                                                      Tanya
                                                      11 июля 2016, 15:29
                                                      0
                                                      у меня аналогичные ошибки стали появляться ни с того, ни с чего… причем локально на openserver. FastCGI никто не включал… где бы ещё поискать причину ошибок?
                                                      Tanya
                                                      28 августа 2016, 15:19
                                                      0
                                                      Подскажите как изменить обертку для показа картинки по ссылке? Сейчас, при вставке в редактор такая:
                                                      <a class="fancy" href="assets/images/67/3d_791.jpg"><img class="thumb" title="" src="assets/images/67/3d_791.jpg" alt="" width="120" height="90" /></a>
                                                      А у меня свои class=«fancy». Не подскажете есть ли такая возможность указать свою обертку? Или где в файлах поправить можно?
                                                        Денис Дыранов
                                                        28 августа 2016, 15:27
                                                        1
                                                        +1
                                                        Настройки TV вкладка «Параметры ввода» в самом низу.
                                                          Tanya
                                                          28 августа 2016, 23:30
                                                          0
                                                          огромное спасибо! Нашла, разобралась!
                                                        Павел
                                                        18 января 2017, 16:09
                                                        0
                                                        Эх, поскорей бы увидеть пакет в репозитории))
                                                          Wassi Wassinen
                                                          19 января 2017, 00:55
                                                          1
                                                          +1
                                                          Если у вас есть возможность, создайте тестовый сайт на каком-нибудь поддомене с минимальными правами, чтобы можно было ознакомиться с функционалом.

                                                          Заранее благодарен!
                                                            Олег
                                                            14 августа 2018, 12:43
                                                            0
                                                            Добрый день! Кто нибудь починил сортировку в галерее?
                                                              Антон
                                                              09 июня 2022, 00:04
                                                              0
                                                              Добрый вечер!
                                                              Подскажите, как вытащить из assetsTV ссылку на первую картинку из группы галереи? Пытаюсь через pdo, ничего не получается:
                                                              [[!pdoResources?
                                                              &parents=`6`
                                                              &limit=`30`
                                                              &sortby=``
                                                              &tpl=`mainpage_model_tpl`
                                                              &includeTVs=`assetsTV,name,hour_price`
                                                              ]]
                                                              <a class="slider_item" href="[[~[[+id]] ?&scheme=`full`]]" style="background-image: url([[!assetsTV? &resId=`` &tv=`assetsTV` &tpl=`assetsTV-tpl`]])">
                                                                Денис Дыранов
                                                                09 июня 2022, 06:45
                                                                0
                                                                [[!assetsTV? &resId=`id` &tv=`assetsTV` &tpl=`assetsTV-tpl-file` &limit=`1`]]

                                                                В начале кода сниппета есть справка.
                                                                  Антон
                                                                  09 июня 2022, 21:53
                                                                  0
                                                                  такая конструкция вызывает ошибку:
                                                                  Fatal error: Uncaught Error: Call to a member function getTVValue() on null in C:\OSPanel\domains\ave.com\core\cache\includes\elements\modsnippet\38.include.cache.php:97 Stack trace: #0

                                                                  Вызов первого изображения делаю таким образом:
                                                                  [[!pdoResources?
                                                                  &parents=`6`
                                                                  &limit=`30`
                                                                  &sortby=``
                                                                  &tpl=`mainpage_model_tpl`
                                                                  &includeTVs=`assetsTV,name`
                                                                  ]]
                                                                  Сам mainpage_model_tpl:
                                                                  <a class="slider_item" href="[[~[[+id]] ?&scheme=`full`]]" style="background-image: url([[!assetsTV? &resId=`id` &tv=`assetsTV` &tpl=`@CODE:[[+atv.url]]` &limit=`1`]])">
                                                                  <div class="slider_item__tags">
                                                                  ....
                                                                  Что не так?
                                                                    Денис Дыранов
                                                                    09 июня 2022, 22:11
                                                                    0
                                                                    ...url([[!assetsTV? &resId=`[[+id]]` &tv=`assetsTV` &tpl=`assetsTVChunk` &limit=`1`]])...
                                                                    Чёт такое
                                                                      Антон
                                                                      09 июня 2022, 22:20
                                                                      0
                                                                      спасибо большое)
                                                                        Антон
                                                                        19 июня 2022, 20:05
                                                                        0
                                                                        после переноса на хостинг в логах стал ругаться:
                                                                        /home/httpd/vhosts/site.com/httpdocs/core/components/assetstv/elements/tv/input/assetstv.class.php 78
                                                                        PHP warning: implode(): Invalid arguments passed
                                                                        и после сохранения стал исчезать заполненный alt для изображений.
                                                                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                                  63