К содержанию

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
8 819
Реклама

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

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

Посмотрите GitHub Desktop, довольно простая и удобная штука под Windows.
    Денис Дыранов
    Денис Дыранов Проверенный
    12 февраля 2016, 22:31
    У меня мак. Но я найду что-нибудь. На хабре по гитхабу хорошая статься. Просто времени не было.
    @ndrew
    @ndrew Проверенный
    13 февраля 2016, 01:02
    Автору огромный респект! Так же слежу за расширениями!
      @ndrew
      @ndrew Проверенный
      13 февраля 2016, 02:26
      При обновлении на cetassetstv-0.8 перестали добавляться в контент картинки даже по иконке.
      cetckeditor-0.8 тоже обновлен. Но если поставить cetassetstv-0.7 то даже с cetckeditor-0.8 все работает как раньше.
        Денис Дыранов
        Денис Дыранов Проверенный
        13 февраля 2016, 09:17
        Поправил. Файлик обновил.
        @ndrew
        @ndrew Проверенный
        13 февраля 2016, 02:45
        И не понял как ставить тему.
          Владимир
          Владимир Старожил
          13 февраля 2016, 03:56
          В настройках системы, после того как вы установите пакет, найдите manager_theme и смените тему по умолчанию
          Однако, я должен заметить, что тема жутко кривая. После установки на 2.4.3 пропали все пункты верхнего меню. Не рекомендую ставить на рабочий проект.
            Владимир
            Владимир Старожил
            13 февраля 2016, 04:15
            Ошибочно сказал о кривизне темы. Если можно, прошу Василия удалить мой комментарий.
              @ndrew
              @ndrew Проверенный
              13 февраля 2016, 04:18
              Спасибо за развернутый ответ. У меня тоже 2.4.3 и тема встала как надо, там и не должно быть пунктов верхнего меню как я понял, все находиться с боку слева. Меня больше интересует добавление картинок в контент с cetassetstv 0.8, которое перестало работать. У Вас работает?
                Борода
                Борода Проверенный
                12 марта 2016, 21:17
                У меня в настройках manager_theme можно выбрать только default. Что Я делаю не так?) Сама тема установилась)
                  Борода
                  Борода Проверенный
                  12 марта 2016, 21:38
                  Разобрался) У меня папка manager переименована) А тема в стандартную устанавливается)
                Владимир
                Владимир Старожил
                13 февраля 2016, 04:14
                Поспешил. Поправлю себя :) Извиняюсь перед автором, тема не кривая, меню перенесено влево, в выдвигающуюся панель.
                Увы, увидел, когда предыдущий комментарий уже недоступен для правки.
                PS но решение MODxFixMenu — Раскрытие по клику мне кажется более понятным.
                  @ndrew
                  @ndrew Проверенный
                  13 февраля 2016, 04:24
                  Как говориться на вкус и цвет… А тема у автора получилась зачетная, респект!!!
                  Очень даже удобно по юзабилити, стоит только привыкнуть как на дефолтную и возвращаться не захочется.
                    Владимир
                    Владимир Старожил
                    13 февраля 2016, 04:48
                    Но сразу понятно, что у автора большой монитор, ибо у меня (параметры монитора-браузера и т.п.) не помещается меню во всю высоту, и аватарка, а за ней и пункты меню системных настроек налазят на предыдущие пункты меню
                    Полагаю, что не у меня одного так?
                      @ndrew
                      @ndrew Проверенный
                      13 февраля 2016, 05:16
                      У меня разрешение монитора 1920 х 1080 и все норм. Для вашего разрешения лучше использовать стандартную тему. У Вас cetassetstv 0.8 работает или Вы его не ставили?
                        Денис Дыранов
                        Денис Дыранов Проверенный
                        13 февраля 2016, 08:57
                        Вот такого быть не должно. При 1080 у верхнего меню меню должен появляться скролл. Что за браузер? Фаерфокс?
                          Денис Дыранов
                          Денис Дыранов Проверенный
                          13 февраля 2016, 09:24
                          Поправил. Файлик обновил.
                    Евгений Шеронов
                    Евгений Шеронов Проверенный
                    13 февраля 2016, 04:05
                    Всё опять замечательно! Я про 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
                      @ndrew Проверенный
                      13 февраля 2016, 04:26
                      Я думаю если не наседать на автора, а наблюдать за развитием компонента то все будет в будущем ;)
                        Сергей Шлоков
                        Сергей Шлоков Эксперт
                        13 февраля 2016, 08:36
                        Кто ищет, тот всегда найдёт.
                          Денис Дыранов
                          Денис Дыранов Проверенный
                          13 февраля 2016, 11:10
                          Обновил файлик. Попробуйте.
                          Денис Дыранов
                          Денис Дыранов Проверенный
                          13 февраля 2016, 12:41
                          Разбираюсь с гитхабом. Буду тут: github.com/neonoviy
                            @ndrew
                            @ndrew Проверенный
                            13 февраля 2016, 23:57
                            Спасибо все отлично!
                            Борода
                            Борода Проверенный
                            14 февраля 2016, 11:28
                            А можно как нибудь научить CKEdtior не делать пустые строки после закрывающихся тегов? И чтобы он тег <cut /> не трогал. Вроде есть кнопка отключения автозавершения тегов. Но не пойму как она работает.
                              Денис Дыранов
                              Денис Дыранов Проверенный
                              14 февраля 2016, 12:14
                              Сомневаюсь. Все теги прописаны в CKEditor.dtd. Там же прописано парные они или нет. О cut он скорее всего ничего не знает. Хотя, возможно есть какой-то плагин. Нужно искать.
                              Василий Одинцов
                              15 февраля 2016, 16:49
                              Добрый день. Спасибо за компонент, но возникла проблема: CET_CKEditor не хочет отображаться в качестве визуального редактора в MIGX. Ставлю редактором TinyMCE — всё нормально. Можно ли как-нибудь указать куда копать? Заранее спасибо.
                                Денис Дыранов
                                Денис Дыранов Проверенный
                                15 февраля 2016, 17:19
                                Попробуйте узнать селектор у полей MIGX и прописать его, ну, например, на 76 строчке в плагине. Должно получиться что-то типа (следите за запятыми):
                                $light_rte_fields = '.modx-richtext, .MIGXclass,' . $light_rte_fields;
                                .
                                  Василий Одинцов
                                  16 февраля 2016, 19:48
                                  Спасибо. Заработало.
                                    Димыч
                                    Димыч Старожил
                                    30 сентября 2019, 01:32
                                    Не подскажите, как удалось решить проблему? Перепробовал разные варианты — без результата.
                                @ndrew
                                @ndrew Проверенный
                                15 февраля 2016, 17:27
                                Можно сделать что бы тема ставилась из config.inc.php -> $modx_manager_path?
                                А то получается если каталог manager переименован то при установке темы создается каталог manager и приходиться копировать файлы в ручную.
                                  Денис Дыранов
                                  Денис Дыранов Проверенный
                                  15 февраля 2016, 17:36
                                  Когда научусь делать транспортные пакеты без использования PackMan'а — так и будет.
                                  Evgeny Tarasov
                                  Evgeny Tarasov Старожил
                                  16 февраля 2016, 16:18
                                  Отзыв от обычного земного пользователя.
                                  Тема работает без нареканий.
                                  Разрешение моего тугого ноута: 1366х768
                                    Aliaksandr Katlou
                                    Aliaksandr Katlou Проверенный
                                    16 февраля 2016, 21:09
                                    Небольшая хотелка) Было бы здорово добавить настройку где выезжать меню будет. С лева конечно логично, тк скролла нет, но хочется справа, есть нюансы. В принципе могу и сам доработать, но обновлять потом неудобно. Как вариант могу попробовать сделать и прислать для включения.
                                      Денис Дыранов
                                      Денис Дыранов Проверенный
                                      16 февраля 2016, 22:16
                                      Кроме того, что там скролл, там ещё и основная рабочая область, где велика вероятность вызвать это меню случайно. Я на 99% уверен, что это будет неудобно.
                                      Попробуйте.
                                      Евгений Webinmd
                                      Евгений Webinmd Эксперт
                                      19 февраля 2016, 00:21
                                      У меня тут ситуация, непонятная. Разрабатываю сайт в подпапке, там, если использовать для картинок AssetsTV, то путь у них содержит и название этой подпапки (если без подпапок, то всё нормально). Получается что после переноса надо либо перезаливать файлы, либо в базе ручками менять. Не сталкивались с такой проблемой?
                                        Денис Дыранов
                                        Денис Дыранов Проверенный
                                        19 февраля 2016, 09:03
                                        Плохо понял, но путь к файлам хранится только в настройках TV. Так что после переноса вам достаточно будет его поменять в одном месте. Перезаливать ничего не нужно. Но если вы вставляете картинки в контент, то там, возможно, нужно будет править.
                                        Борода
                                        Борода Проверенный
                                        27 февраля 2016, 20:39
                                        У меня периодически в журнале ошибок появляется следующее
                                        [2016-02-27 20:19:02] (ERROR @ /manager/index.php) [OnDocFormPrerender] Plugin CET_CKEditor failed!
                                        Хотя use_editor стоит значение — нет. И все правки, соответственно, делались через Асе.
                                        С этим можно что-то сделать?
                                          Евгений
                                          Евгений Старожил
                                          11 марта 2016, 04:22
                                          Как скоро появится в репозиториях?)
                                            UDAV
                                            UDAV Старожил
                                            21 марта 2016, 09:05
                                            А как сделать чтобы превьюшки создавались?
                                            Пишу в чанке
                                            [[+atv.url:phpthumbon=`w=78&h=52&zc=1&far=C]]
                                            а оно не работает.
                                              Денис Дыранов
                                              Денис Дыранов Проверенный
                                              21 марта 2016, 09:39
                                              <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
                                              Tanya Старожил
                                              19 мая 2016, 12:07
                                              Очень понравилось Ваше расширение!!! Может очень нестандартный вопрос, но где можно было бы перевести слова типа: Insert selected, Upload file, Toggle view, Alt, Description… :) т.к. не не все менеджеры сайта понимают что тут написано. А при заходе в словари выдает ошибку: Fatal error: Uncaught exception 'UnexpectedValueException' with message 'DirectoryIterator::__construct
                                                Денис Дыранов
                                                Денис Дыранов Проверенный
                                                19 мая 2016, 12:11
                                                На данный момент только в файле /core/components/assetstv/elements/tv/input/tpl/assetstv.tpl Потом будет вынесено в словари.
                                                  Tanya
                                                  Tanya Старожил
                                                  19 мая 2016, 19:53
                                                  Спасибо за ответ!
                                                  А не подскажете с чем могут быть связаны ошибки в логе:
                                                  [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
                                                Присоединяюсь к РЕСПЕКТАМ АВТОРУ!!! Слежу за расширениями и доволен как слон!
                                                  Станислав
                                                  Станислав Старожил
                                                  01 июня 2016, 00:25
                                                  Ребята помогите пожалуйста
                                                  сборка 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, 10:43
                                                    Какая версия php?
                                                      Станислав
                                                      Станислав Старожил
                                                      01 июня 2016, 13:07
                                                      версия PHP 5.5.9
                                                      права на все папки проверил больше 10 раз
                                                    Станислав
                                                    Станислав Старожил
                                                    01 июня 2016, 00:31
                                                    Попробовал по одной кидать, что то закачивает, а что-то нет
                                                    s.mail.ru/Jb96/DBkbDUN57

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

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

                                                      Обнаружил, что это менеджер файлов так работает, какие-то изображения грузит, а какие-то нет.
                                                      При чем у всех одинаковое расширение
                                                        Станислав
                                                        Станислав Старожил
                                                        02 июня 2016, 09:55
                                                        Нашел причину!!!
                                                        У меня был включен FastCGI (Apache)
                                                        Переключил на обычный Apache, проблема ушла.
                                                          Tanya
                                                          Tanya Старожил
                                                          11 июля 2016, 15:29
                                                          у меня аналогичные ошибки стали появляться ни с того, ни с чего… причем локально на openserver. FastCGI никто не включал… где бы ещё поискать причину ошибок?
                                                          Tanya
                                                          Tanya Старожил
                                                          28 августа 2016, 15:19
                                                          Подскажите как изменить обертку для показа картинки по ссылке? Сейчас, при вставке в редактор такая:
                                                          <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
                                                            Настройки TV вкладка «Параметры ввода» в самом низу.
                                                              Tanya
                                                              Tanya Старожил
                                                              28 августа 2016, 23:30
                                                              огромное спасибо! Нашла, разобралась!
                                                            Павел
                                                            Павел Старожил
                                                            18 января 2017, 16:09
                                                            Эх, поскорей бы увидеть пакет в репозитории))
                                                              Wassi Wassinen
                                                              Wassi Wassinen Проверенный
                                                              19 января 2017, 00:55
                                                              Если у вас есть возможность, создайте тестовый сайт на каком-нибудь поддомене с минимальными правами, чтобы можно было ознакомиться с функционалом.

                                                              Заранее благодарен!
                                                                Олег
                                                                Олег Старожил
                                                                14 августа 2018, 12:43
                                                                Добрый день! Кто нибудь починил сортировку в галерее?
                                                                  Антон
                                                                  Антон Старожил
                                                                  09 июня 2022, 00:04
                                                                  Добрый вечер!
                                                                  Подскажите, как вытащить из 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
                                                                    [[!assetsTV? &resId=`id` &tv=`assetsTV` &tpl=`assetsTV-tpl-file` &limit=`1`]]

                                                                    В начале кода сниппета есть справка.
                                                                      Антон
                                                                      Антон Старожил
                                                                      09 июня 2022, 21:53
                                                                      такая конструкция вызывает ошибку:
                                                                      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
                                                                        ...url([[!assetsTV? &resId=`[[+id]]` &tv=`assetsTV` &tpl=`assetsTVChunk` &limit=`1`]])...
                                                                        Чёт такое
                                                                          Антон
                                                                          Антон Старожил
                                                                          09 июня 2022, 22:20
                                                                          спасибо большое)
                                                                            Антон
                                                                            Антон Старожил
                                                                            19 июня 2022, 20:05
                                                                            после переноса на хостинг в логах стал ругаться:
                                                                            /home/httpd/vhosts/site.com/httpdocs/core/components/assetstv/elements/tv/input/assetstv.class.php 78
                                                                            PHP warning: implode(): Invalid arguments passed
                                                                            и после сохранения стал исчезать заполненный alt для изображений.
                                                                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                                      63