Редактор разметки iTiny

Загрузка изображений

#1 6 февраля 2019 в 13:32
Здравствуйте,
поставил себе редактор от Loadырь
Супер, спасибо ему за Вещь!

правда кое что пришлось допилить,
не работали водяные знаки

  1. --- system/controllers/itiny/frontend.php 2019-02-03 14:41:18.000000000 +0300
  2. +++ system/controllers/itiny/frontend.php 2019-02-06 13:24:28.518335658 +0300
  3. @@ -103,9 +103,10 @@
  4. 'url' => $this->cms_config->upload_host . '/' . $path
  5. );
  6.  
  7. - if ($preset['is_watermark'] && $preset['wm_image']) {
  8. - img_add_watermark($image['path'], $preset['wm_image']['original'], $preset['wm_origin'], $preset['wm_margin'], $preset['quality']);
  9. - }
  10. + if ($preset['is_watermark'] && $preset['wm_image']['original']) {
  11. + $replPath = str_replace('/upload/', '', $image['path']);
  12. + img_add_watermark($replPath, $preset['wm_image']['original'], $preset['wm_origin'], $preset['wm_margin'], $preset['quality']);
  13. + }
  14.  
  15. files_delete_file($result['path'], 2);

и пропадали переносы строк в Спойлере

  1. --- wysiwyg/itiny/plugins/itinyspoiler/plugin.js 2019-02-06 13:29:29.735746292 +0300
  2. +++ wysiwyg/itiny/plugins/itinyspoiler/plugin.js 2019-02-06 13:29:29.731746220 +0300
  3. @@ -49,7 +49,7 @@
  4. var text = e.data.spoiler_text ? e.data.spoiler_text : spoilerText;
  5. var uniq = Math.random().toString(36).substr(2, 9);
  6.  
  7. - text = text.replace(/<br>/gi, '\n');
  8. + text = text.replace(/\n/gi, "<br>");
  9.  
  10. if (!text) {
  11. return alert(I18n.translate('Select the text'));


Таки собственно сам вопрос:
А кто знает как сделать "кликабельные" картинки загружаемые при помощи этого редактора?
#2 6 февраля 2019 в 15:10

А кто знает как сделать "кликабельные" картинки загружаемые при помощи этого редактора ?

@fazer
Загрузите сразу 2 и более картинок.
#3 6 февраля 2019 в 17:00


Загрузите сразу 2 и более картинок.

Loadырь

Когда две и более, они — кликабельны, правда не тот-же дизайн, что у загружаемых штатными средствами..

но мне не галерея нужна...,

мне нужно что бы при написании статьи фотки можно было вставлять в произвольном порядке...

это возможно?
#4 6 февраля 2019 в 17:31
Теоретически возможно, но как отличать, что вы хотите вставить кликабельное фото, а не стандартное? Для этого нужен некий чекбокс в блоке вставки изображений. Но там его нет, поэтому и не получится вставить как вы хотите. Пробуйте загрузить 2 и более изображения и потом двигать их в разные места.
#5 6 февраля 2019 в 17:43


Теоретически возможно, но как отличать, что вы хотите вставить кликабельное фото, а не стандартное?

Loadырь
а если по умолчанию сделать все кликабельными ?,
опять же, у меня есть в "типы контента"/"статьи" поле "картинка в анонсе" которой присвоено системное имя...
таки она по умолчанию кликабельна, нельзя ли сделать как-то похоже пусть даже с динамическим системным именем ?


Пробуйте загрузить 2 и более изображения и потом двигать их в разные места.

Loadырь
эти статьи будут создавать пользователи.., с трудом представляю как до них донести алгоритм ),
или у писателя одна фотка но большая…
как его убедить вставить дополнительно фотку любимого животного в статью про охоту, дабы фотки было не меньше двух? :))
#6 6 февраля 2019 в 17:51

а если по умолчанию сделать все кликабельными ?,

@fazer
А если не всем пользователям данного компонента нужны по умолчанию кликабельные ссылки? Что делать?
#7 6 февраля 2019 в 17:57
ну я бы посчитал, что идеально было бы что все фоты свыше 640х480 — клико-расширяемые, ниже -> нет
ну а если тупо — все расширяемые, то хотя бы это можно людям объяснить
а вот как я буду их уговаривать, что схему станка я уложил в квадратик 2х2 см и пусть не вякает )))
#8 6 февраля 2019 в 18:12
В принципе можно и обдумать, да вынести опцию в настройки формы с указанием размеров при превышении, которых делать фото принудительно кликабельными. Но это будет не скоро с моей стороны, так как в планах работать с ним редактором после выхода релиза пятой версии самого редактора. Вы если знаете в каком месте происходит загрузка, можете добавить "обертку", чтобы фото выглядело как в галерее.
#9 6 февраля 2019 в 18:22


Вы если знаете в каком месте происходит загрузка, можете добавить "обертку", чтобы фото выглядело как в галерее.

Loadырь
вот это и есть беда, не знаю я куда что отправляется(очень не просто исследовать чужой код)
не могли бы Вы пальцем ткнуть в файл который обрабатывает выходящие из редактора картинки?
#10 7 февраля 2019 в 07:24

не могли бы Вы пальцем ткнуть в файл который обрабатывает выходящие из редактора картинки ?

@fazer
Вам нужны не входящие картинки, а исходящие. В файле wysiwyg\itiny\wysiwyg.class.php в строке 349 примерно, есть код
  1. if (files.length > 1){
всё что после него до
  1. } else {
относится к нескольким картинкам, ниже
  1. callback(result.url, {alt: result.name});
относится к одиночной картинке.
Вам надо сделать, для одиночных как для нескольких файлов. С самим кодом не помогу, так как пока занят другими делами.
#11 7 февраля 2019 в 10:33

Вам нужны не входящие картинки, а исходящие. В файле wysiwyg\itiny\wysiwyg.class.php в строке 349 примерно, есть код
Код PHP:
if (files.length > 1){

Loadырь
Супер, Вы — Гений,
это решается элементарно
  1. if (files.length >= 1){
картинки стали кликабельные, а вот теперь наверно самое сложное,
как их привести к нативному формату инстанта ?, т.е. они открываются но не в 100% и нет красивой "лупы с крестиком" при наведении
#12 7 февраля 2019 в 10:49


С самим кодом не помогу, так как пока занят другими делами.

Loadырь

Ан нет, не сложно
  1. <a class="ajax-modal modal_image hover_image"
будем тестировать, спасибо Вам Loadырь!
#13 7 февраля 2019 в 11:31
Loadырь,
кстати, позвольте Вам предложить некий lifehack...
когда будите работать над новым редактором вставьте плз кнопки "выделить все"/"снять выделение" в панели настройки прав,
а то дюже утомительно тыркать, например 85 из 92 чекбоксов
можно сделать например так:
  1. cat wysiwyg/itiny/buttons.js
  2.  
  3. window.onload = function() {
  4. var grid = document.getElementsByClassName('datagrid_wrapper perms_grid');
  5. var newbuttons = document.createElement('DIV');
  6. newbuttons = '
  7. <div class="select_deselect">\
  8. <a href="#" onclick="$(\'.input-checkbox\').prop(\'checked\', true); return false;">Выделить все</a> / \
  9. <a href="#" onclick="$(\'.input-checkbox\').prop(\'checked\', false); return false;">Снять со всех</a></div>'
  10. if (grid[0]){grid[0].innerHTML += newbuttons;}
  11. };
  1.  
  2. echo "cmsTemplate::getInstance()->addJSFromContext('wysiwyg/itiny/buttons.js');" >> system/controllers/itiny/backend.php
  3.  
#14 7 февраля 2019 в 11:55
В Комментариях нет возможности сменить и убрать редактор. С Мнениями работает только iredactor, но там вроде проблема с спойлером…
#15 7 февраля 2019 в 15:00

В Комментариях нет возможности сменить и убрать редактор.

@elv
Всё верно. Но у меня есть возможность ))).
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.