Cotonti / Open Source PHP Content Management FrameworkContent Management Framework

Forums / National / Russian / Модули и плагины / Attacher - релиз

12345>>>

Roffun
#1 2019-01-07 03:15

Сегодня опубликовал бета версию плагина attacher, завтра будет описание выложено, пока что можно тестировать. На рабочие сайты лучше пока не устанавливать. Если установлен attach2 или file, лучше их приостановить, замечена нестыковка. Подробности завтра.

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts

Dit bericht is bewerkt door Roffun (2020-02-18 00:09, 2 jaren ago)
Виктор
#2 2019-01-08 08:34

нужно описание! не разобрал как указать, например загружать только изобр. и как усановить лимит на количество изображений и вставка в редактор

{PHP|att_add('page', $item, 'mainlogo')} -?

После вики работа должна пойти, спасибо за проделаную работу!

 

Roffun
#3 2019-01-08 09:54
#43961 Виктор:

нужно описание! не разобрал как указать, например загружать только изобр. и как усановить лимит на количество изображений и вставка в редактор

Описание сегодня планирую написать. Вчера установил плагин на cmscot.net, заодно потестится на рабочем сайте, хотя он пока пустой (ждет новый шаблон, сейчас там шаблон 2013 года).

Чтобы было удобно привыкнуть тем, кто пользовался модулем file, я добавил аналогичную функцию, она выводит форму загрузки без iframe:

function att_filebox($area, $item, $field = '', $type = 'all', $limit = -1, $tpl = 'attacher.filebox')

Соответственно  для page add:

        <!-- IF {PHP|cot_auth('plug', 'attacher', 'W')} -->
         <div>
            {PAGEADD_FORM_ID|att_filebox('page', 0)}
        </div>
        <!-- ENDIF -->

С расширенными параметрами по желанию:

        <!-- IF {PHP|cot_auth('plug', 'attacher', 'W')} -->
         <div>
            {PAGEADD_FORM_ID|att_filebox('page', 0, '', 'image', 4)}
        </div>
        <!-- ENDIF -->
  • 3 параметр - имя поля (для прикрепления нескольких форм)
  • 4 параметр - тип
  • 5 параметр - количество

А кнопки вставки в редактор появятся автоматически на картинке при наведении

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts

Dit bericht is bewerkt door Roffun (2019-01-08 13:54, 3 jaren ago)
Kopusha
#4 2019-01-08 14:47
будет время попробуй убрать конфликт с файлз плиз. очень бы пригодилось именно оба использовать
Roffun
#5 2019-01-08 15:27
#43963 Kopusha:
будет время попробуй убрать конфликт с файлз плиз. очень бы пригодилось именно оба использовать

Конфликт наблюдается на уровне json ответа при загрузке, пока что не тестировал полностью на конфликтность, это навскидку. Сейчас занят составление документации.

Добавлено 8 часов спустя:

Описание настроек, скриншоты, примеры интеграции уже готовы на 70%, завтра остальную часть допишу, и опубликую, ближе к ночи.

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts

Dit bericht is bewerkt door Roffun (2019-01-09 00:06, 3 jaren ago)
Виктор
#6 2019-01-09 07:37

В общем для теста сделал копию таблицы files переименовал ее со структурой в attacher(должен работать))), ...и работает, причем все миниатюры и фото по ходу открытия страниц плагин по новой переписывает а папку attacher


Dit bericht is bewerkt door Виктор (2019-01-09 07:53, 3 jaren ago)
Roffun
#7 2019-01-09 11:55

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

Здесь реализована одна важная особенность, которую я предлагал еще несколько лет назад автору модуля file внедрить, но он посчитал что это не нужно, и в итоге я реализовал в аттачере это.

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

В редактор нужно вставлять только картинку, остальное сделает плагин, и ссылку добавит, и контейнер родительский, всё настраивается налету, и можно менять при желании, в редакторе остается только картинка.

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

Добавлено 10 часов спустя:

#43961 Виктор:  После вики работа должна пойти, спасибо за проделаную работу!

Описание и мануалы готовы.

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts

Dit bericht is bewerkt door Roffun (2020-02-18 00:10, 2 jaren ago)
Виктор
#8 2019-01-10 15:51

Полностью перешел на Аттачер, пока что все работает, никаких ошибок не наблюдал, единственное что, поправил css под шаблон и немного проблема была с аватарами так как переходил с files, очень понравилась вставка в редактор миниатюр и простая интеграция со своими модулями, в общем отличное решение!!!

Roffun
#9 2019-01-10 16:11
#43974 Виктор:

Полностью перешел на Аттачер, пока что все работает, никаких ошибок не наблюдал, единственное что, поправил css под шаблон и немного проблема была с аватарами так как переходил с files, очень понравилась вставка в редактор миниатюр и простая интеграция со своими модулями, в общем отличное решение!!!

Вот и замечательно, скоро доделаю плагин highslide, и выложу. Он будет взаимодействовать с аттачером при обработке изображений (галерея), сейчас он установлен на cmscot.net для тестов.

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
mexorus
#10 2019-01-24 10:51

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

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

 

Roffun
#11 2019-01-24 13:28
#43998 mexorus:

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

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

 

Для начала его нужно интегрировать.

Ознакомьтесь с описанием плагина, там функции для интеграции описаны ( смотрите пункт: Описание функций обратного вызова (callback))

Интеграция плагина attacher в шаблон (тему) Cotonti

Для того чтобы иметь возможность загружать, прикреплять, выводить файлы с помощью аттачера, нужно добавить в шаблон функции обратного вызова - подключить интерфейс для взаимодействия. По умолчанию интерфейс можно подключить к страницам и сообщениям форума (модули page и forums). Есть несколько функций, которые для этого предназначены..

По умолчанию плагин работате с модулем page и forums, так как они являются официальными расширениями Cotonti. Под сторонние расширения нужно самостоятельно подключить. Фриланс биржа - это сторонняя разработка.

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

 

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts

Dit bericht is bewerkt door Roffun (2020-02-18 00:10, 2 jaren ago)
Hantr
#12 2019-01-24 16:57

Спасибо, большая работа! Модуль PFS можно похоронить?) Планируется ли  вывод в news.tpl галереи и подгружаймых фалов к странице новости?)  У attach2 такого нет в коробке, пришлось модифицировать) 

Roffun
#13 2019-01-24 17:43
#44000 Hantr:

Спасибо, большая работа! Модуль PFS можно похоронить?) 

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

#44000 Hantr:

 Планируется ли  вывод в news.tpl галереи и подгружаймых фалов к странице новости?)  У attach2 такого нет в коробке, пришлось модифицировать) 

В плагине есть возможность вывода, как в кратких, так и в полных статьях, также на главной (page.enum) и в любом другом месте, где выводится содержимое page, также в результатах поиска. Галерея есть, выводит изображения, но без самого скрипта, так как будет возможность отдельно подключить плагин галереи, слайдера, и прочих скриптов, скоро выложу highslide.

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

Так как в news.tpl выводится содержимое page, то вывод изображения будет таким:

<img src="{PAGE_ROW_ID|att_get('page',$this,'')|att_thumb($this,280,180,'crop')}" alt="{PAGE_ROW_SHORTTITLE}"> 

 

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

Или же можно добавить в index.tpl:

 {PHP|cot_page_enum('',12,'index','page_date DESC','',true,true,true,'system,archive','',3600)}

А в корне шаблона создать папку modules, внутри нее папку page, в которую добавить файл  page.enum.index.tpl с содержимым:

<!-- BEGIN: MAIN -->
<div class="lists n1c">
    <!-- BEGIN: PAGE_ROW -->
    <div class="item">
        <a href="{PAGE_ROW_URL}" class="ttl"><strong>{PAGE_ROW_SHORTTITLE}</strong></a>
        <img src="{PAGE_ROW_ID|att_get('page',$this,'')|att_thumb($this,280,180,'crop')}" alt="{PAGE_ROW_SHORTTITLE}"> 
        {PAGE_ROW_TEXT|strip_tags|cot_cutstring($this,220)}
        <div class="bline">
            <q class="i-view"> {PAGE_ROW_COUNT}</q>
            <q class="i-folder flo-r"> {PAGE_ROW_CATTITLE}</q>
        </div>
    </div>
    <!-- END: PAGE_ROW -->
</div>
<!-- END: MAIN -->

Структуру верстки подправить под свой шаблон.

Добавлено 3 часа спустя:

#43998 mexorus:

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

Если используется шаблон по умолчанию с устаревшим бутстрапом (версия 2), то изображения не появляются из-за какого-то свойства в нем. Попробуйте закомментировать в файле bootlance.rc.php одну строчку:

cot_rc_add_file($cfg['themes_dir'].'/'.$usr['theme'].'/bootstrap/css/bootstrap.min.css');

И посмотрите, появляются изображения или нет.

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts

Dit bericht is bewerkt door Roffun (2020-01-14 21:04, 2 jaren ago)
Hantr
#14 2019-01-25 07:28

Начал полноценно тестить плагин, при первом шаге вставил необходимый код в  page.add.tpl, все пркрасно фалы и изображения подгружаются. При клике на выбранную размерность втавляется миниатюра с выбранными параметрами. Вопрос в файлах, они вставляются только в ручном режиме? Что имею ввиду копируем ссылку файла  вставляю через скрепку. Планирцется ли вставка в афто режиме при клике на ярлык как и картинок в поле текст боксера, где имя файла его описание?

Добавлено 2 часа спустя:

В шаблон page.list.tpl: 

<!-- IF {LIST_ROW_ID|att_count('page',$this,'','images')} > 0 -->
<div>
<a href="{LIST_ROW_URL}" title="{LIST_ROW_SHORTTITLE}">
    {LIST_ROW_ID|att_display('page',$this,'','attacher.display.thumb','images',1)}
</a>
</div>
<!-- ENDIF -->

Данный код сработал, вывелись миниатюры, менял число после: 

'images'

Количество выводимых миниатюр также увеличивается.

 

Также добавлю если речь идет о page.list.tpl, осталисись вопросы по выводу не только миниатюр, но и выводу ссылок на файлы с описанием в данный шаблон, есть ли такая возможность?

 

Почему то не сработал код:

<!-- IF {LIST_ROW_ID|att_count('page',$this,'','images')} > 0 -->
<div>
<a href="{LIST_ROW_URL}" title="{LIST_ROW_SHORTTITLE}">
    <img src="{LIST_ROW_ID|att_get('page',$this,'')|att_thumb($this,200,160,'crop',false)}" alt="{LIST_ROW_SHORTTITLE}">
</a>
</div>
<!-- ENDIF -->

Показывает что изображение миниатюры присутствует https://yadi.sk/i/qbawgzCGAsv7iw , но саму миниатюру не выводит, хз может у меня проблемы что то не так сделал. РS всетаки поймал закономерность, значит что тут происходит: Если подгружается первым файл, затем изображение  миниатюру не показывает. Если загрузить изображение потом фал миниатюра показывается. 

 

 


Dit bericht is bewerkt door Hantr (2019-01-25 12:16, 3 jaren ago)
Roffun
#15 2019-01-25 12:32
#44002 Hantr:  Показывает что изображение миниатюры присутствует https://yadi.sk/i/qbawgzCGAsv7iw , но саму миниатюру не выводит, хз может у меня проблемы что то не так сделал. РS всетаки поймал закономерность, значит что тут происходит: Если подгружается первым файл, затем изображение  миниатюру не показывает. Если загрузить изображение потом фал миниатюра показывается. 

А может причина в css ?

Я выше писал об этом, по крайней мере со старым бутстрапом такое наблюдается. Чтобы выяснить причину невидимых картинок - попробуйте вывести то же самое в шаблоне по умолчанию: nemesis. В дальнейшем я сверстаю шаблон по умолчанию, в нем все будет уже подключено, и можно будет проверить.

Насчет подключения изображений в page.list.tpl, проверил, оба варианта  работают:

1.

<!-- IF {LIST_ROW_ID|att_count('page',$this,'','images')} > 0 -->
<div>
<a href="{LIST_ROW_URL}" title="{LIST_ROW_SHORTTITLE}">
	<img src="{LIST_ROW_ID|att_get('page',$this,'')|att_thumb($this,200,160,'crop',false)}" alt="{LIST_ROW_SHORTTITLE}">
</a>
</div>
<!-- ENDIF -->

2.

<!-- IF {LIST_ROW_ID|att_count('page',$this,'','images')} > 0 -->
<div>
<a href="{LIST_ROW_URL}" title="{LIST_ROW_SHORTTITLE}">
    {LIST_ROW_ID|att_display('page',$this,'','attacher.display.thumb','images',1)}
</a>
</div>
<!-- ENDIF -->

Насчет вывода файлов в шаблон, есть функция att_downloads() , она описана в документации к плагину.

Вывод списка прикрепленных файлов в page.tpl:

<!-- IF {PAGE_ID|att_count('page',$this,'','files')} > 0 -->
<div data-att-downloads="download">
    <h3>{PHP.L.att_downloads}</h3>
    {PAGE_ID|att_downloads('page',$this)}
</div>
<!-- ENDIF -->

В page.list.tpl:

<!-- IF {LIST_ROW_ID|att_count('page',$this,'','files')} > 0 -->
<div data-att-downloads="download">
    <h3>{PHP.L.att_downloads}</h3>
    {LIST_ROW_ID|att_downloads('page',$this)}
</div>
<!-- ENDIF -->

Насчет вставки в редактор - это разве что ссылку на скачивание, или bbcode. Здесь нужно подумать насчет вставки для скачивания в редактор. 

 

 

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts

12345>>>