Форумы / National / Russian / Модули и плагины / Модуль Files от Alex300

Wilder
#1 21.02.2015 11:19

Оказалось, что не только я атакую автора в личке одними и теми же вопросами, пожеланиями и сообщениями об ошибках. Поэтому выкладываю сюда часть нашей переписки - наверняка кому-то поможет.

 

Wilder:

Разбираюсь с модулем Файлы. Единственная вещь, которую не могу никак понять - как попасть в сам архив, т.е. туда, где находятся обещанные папки и галереи. Прикрепил к странице несколько изображений, теперь хочу их вставить в произвольные места текста страницы. Как я понял из описания, "где-то" есть интерфейс, наподобие PFS, в котором должны быть подобные кнопки для вставки и вообще - для управления файлами.

Кстати, придумал еще полезную функцию для твоего модуля. Часто, особенно, в новостных сайтах возникает необходимость реализации следующей схемы расположения картинок: первая картинка (аватар страницы) находится в начале статьи, а все остальные изображения - внизу текста. Казалось бы, все картинки вывести не проблема, да беда в том, что в при использовании функции cot_files_gallery будут выведены все изображения, прикрепленные к странице, а в данном случае надо вывести все, кроме первой (т.е., кроме "главного аватара"). Также было бы неплохо иметь возможность выбирать аватары вручную, как это сделано в Files Upload - часто бывает необходимо иметь аватаром не первую или последнюю картинку, а, например, из середины ряда, но в то же время, первой ее делать по какой-либо причине нельзя.

 

Alex300:

Чтобы иметь возможность вставлять файлы в редактор из личного файлового хранилища или файлового хранилища сайта,  на форме редактирования страницы нужно добавить теги {PAGEEDIT_FORM_PFS} {PAGEEDIT_FORM_SFS} - в форму редактирования и {PAGEADD_FORM_PFS} {PAGEADD_FORM_SFS} в форму добавления страницы.

Также мои файлы доступны на отдельной странице: http://<ваш_домен>/files?m=pfs - можно добавить ее в меню пользователя как "Мои файлы"

Файловый архив сайта: http://<ваш_домен>/files?m=pfs&uid=0

Документацию обновил.

> Кстати, придумал еще полезную функцию для твоего модуля.


Все уже сделано ))

Виджет функция cot_files_filebox третьим параметром принимает имя поля, к которому привязываются файлы. Имя поля - условное название, никаких экстраполей для этого создавать не нужно.

В шаблон page.add.tpl добавте код:
{PHP|cot_files_filebox('page', 0, 'logo')}
{PHP|cot_files_filebox('page', 0, 'gallery')}

а в шаблон page.edit.tpl
{PAGEEDIT_FORM_ID|cot_files_filebox('page', $this, 'logo')}
{PAGEEDIT_FORM_ID|cot_files_filebox('page', $this, 'gallery')}

И у вас будет 2 загрузчика. И это не предел )))

Картинку из первого можно выводить, например в списках страниц или сверху страницы

<!-- IF {LIST_ROW_ID|cot_files_count('page',$this,'logo','images')} > 0 -->
<div class="pull-left marginright10 marginbottom10">
    <a href="{LIST_ROW_URL}" title="{LIST_ROW_SHORTTITLE}" rel="bookmark" class="thumbnail"><img
                alt="{LIST_ROW_SHORTTITLE}" src="{LIST_ROW_ID|cot_files_get('page',$this,'logo')|cot_files_thumb($this,195,130,'crop')}" /></a>
</div>
<!-- ENDIF -->

а со второго загрузчика использовать как галерею:

<!-- IF {PAGE_ID|cot_files_count('page',$this,'gallery','images')} > 1 -->
{PAGE_ID|cot_files_gallery('page',$this,'gallery')}
<!-- ENDIF -->

P.S. Сегодня закончил поддержку экстраполей, так что можно скачать из репозитория актуальную версию.

Добавлено 16 секунд спустя:

  1. При вставке изображения из файлового архива в атрибуте ALT прописывается "undefined", независимо от заполненности названия иллюстрации. Казалось бы, ничего особо страшного, однако, это минус с точки зрения SEO.
  2. Еще хотелось бы, чтобы кроме ALT в тэг вставлялся и TITLE. Во-первых, для большей эффективности того же SEO, а во-вторых, для повышения юзабилити.
  3. Было бы нелишним опционально вставлять указанную в названии картинки подпись при вставке ее из файлового архива. Т.е. добавить в строку с кнопками вставки изображения чекбокс "Вставить подпись", которая бы добавляла описание картинки к миниатюре и оригинальному изображению.

P.S. По первому пункту разобрался, в чем проблема. У тебя несоответствие имен классов в files.js и HTML-коде поля. В скрипте:

var desc = parentTr.find('input.files-edit-title').val();

В HTML:

<input name="file_title" value="undefined" class="form-control file-edit" placeholder="Заголовок" type="text">

 

Alex300
#2 22.02.2015 07:56

При вставке изображения из файлового архива в атрибуте ALT прописывается "undefined"

Исправлено и перезалито в репозиторий.

  1. Еще хотелось бы, чтобы кроме ALT в тэг вставлялся и TITLE. Во-первых, для большей эффективности того же SEO, а во-вторых, для повышения юзабилити.
  2. Было бы нелишним опционально вставлять указанную в названии картинки подпись при вставке ее из файлового архива. Т.е. добавить в строку с кнопками вставки изображения чекбокс "Вставить подпись", которая бы добавляла описание картинки к миниатюре и оригинальному изображению.

При вставке миниатюры / изображения в редактор Вы можете выделить в редакторе нужное изображение и кликнуть по иконке "Изображение" на панели инструментов и отредактировать все необходимые атрибуты.

Если Вы генерируете галерею при помощи виджета cot_files_gallery то в шаблоне галереи Вы можнете использовать все, вплоть до экстраполей.

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
Отредактировано: Alex300 (22.02.2015 08:10, 9 лет назад)
Roffun
#3 22.02.2015 11:03
#40598 Alex300:
Если Вы генерируете галерею при помощи виджета cot_files_gallery то в шаблоне галереи Вы можнете использовать все, вплоть до экстраполей.

Если использовать несколько различных модулей (которые были переделаны из модуля page), есть ли вероятность того, что одна миниатюра затрет другую, так как каждый из модулей начинает формировать свою первую новость с ID=1

Судя по тому что каждая миниатюра увеличивается на +1 с каждой последующей, такого быть не должно, но на всякий случай решил поинтересоваться.

 

И еще вопрос по настройке количества объектов к одной новости. Раньше в attach2 была настройка (поле) с указанием максимального количества объектов.

Вместо нее теперь использовать $limit ?

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
Wilder
#4 22.02.2015 11:32
#40598 Alex300:

При вставке миниатюры / изображения в редактор Вы можете выделить в редакторе нужное изображение и кликнуть по иконке "Изображение" на панели инструментов и отредактировать все необходимые атрибуты.

Это понятно. Но в этом случае получается двойная работа: один раз подпись уже была указана при загрузке картинки в файловый архив, пользователь логично предполагает, что это поле заполняется не просто так, а с целью выведения этого текста в качестве подписи к изображению. Понятно, что администратор сайта это все знает и справится с задачей вывода подписи самостоятельно. Но котонти предусматривает возможность публикации статей любым пользователем, большинство из которых по объективным причинам не сможет догадаться о том, что во-первых, поле при загрузке изображения в PFS незадействовано, а во-вторых, то, что надо щелкнуть правой кнопкй мыши по изображению, перейти на нужную вкладку и еще раз вписать то, что было написано минуту назад. Поверь, до этого, действительно, сложно, и даже практически невозможно, догадаться простому пользователю.

Если Вы генерируете галерею при помощи виджета cot_files_gallery то в шаблоне галереи Вы можнете использовать все, вплоть до экстраполей.

При прикреплении изображений к странице - да, тут без проблем, делай, что хочешь. Но я-то говорю о вставке изображений из файлового архива. Для себя я вчера сделал буквально несколько правок, и теперь подпись выводится автоматически, но, подозреваю, что множество пользователей было бы благодарно появлению такой возможности и в сборке от производителя :-)

Alex300
#5 22.02.2015 12:13

пользователь логично предполагает, что это поле заполняется не просто так, а с целью выведения этого текста в качестве подписи к изображению.

Напротив, логинчно, когда название картинки попадает в атрибут alt. Подписи же под картинками зависят от темы. Их почти никогда не бывает.

Добавлено 2 минуты спустя:

Если использовать несколько различных модулей (которые были переделаны из модуля page), есть ли вероятность того, что одна миниатюра затрет другую, так как каждый из модулей начинает формировать свою первую новость с ID=1

Нет. Такой вероятности нет независимо от того похожи ли модули на page или нет. В модуле Page нет ничего особенного или сверъестественного. Это обычный модуль. А почему они должны вообще "Затираться?". Используйте для разных сущностей свой уникальный $source.

Судя по тому что каждая миниатюра увеличивается на +1 с каждой последующей

А как это? Для хранения миниатюр создается папка с названием равным ID-файла.

 

И еще вопрос по настройке количества объектов к одной новости. Раньше в attach2 была настройка (поле) с указанием максимального количества объектов.

Вместо нее теперь использовать $limit ?

Ограничить количество вложений на один объект можно задав параметр $limit виджета-загрузчика cot_files_filebox.

Также можно использовать настройки для группы пользователя.

Чтобы иметь возможность задавать такую настройку нужно в шаблон admin.users.edit.tags.tpl добавить тег {ADMIN_USERS_EDITFORM_GRP_ATTACH_PER_POST} (в панель управления cpanel он будет добавлен "из коробки")

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
Отредактировано: Alex300 (22.02.2015 12:28, 9 лет назад)
Wilder
#6 19.04.2015 10:31

Две идеи для модуля, с необходимостью реализации которых я столкнулся в проекте, который делаю сейчас.

  1. Настройка разных водяных знаков для разных категорий и разных размеров изображений (с "черным списком" категорий). Например, столкнулся с тем, что для большой картинки надо выводить водяной знак большего размера, нежели для более мелких картинок.
  2. Настройка принудительного уменьшения оригиналов для разных категорий (тоже с исключениями). Например, для некоторых категорий изображения уменьшать не надо ни в коем случае, а для большинства - надо.

Дополнено:

Только что, разрабатывая портал, столкнулся еще с одной необходимостью:

- возможность просмотра администраторами всех изображений - не только в личных архивах пользователей, но и прикрепленных к страницам. Не знаю, насколько она может быть востребована большим количеством разработчиков сайтов (сам я впервые столкнулся с такой необходимостью), но, возможно, и будет полезна.

Отредактировано: Wilder (22.04.2015 11:18, 9 лет назад)