Вставка фотоальбома через bbcode в блогах и т.д. 1.X

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

Имеются ввиду альбомы из публичной галереи компонента /photos

В качестве демо вставил альбом к себе на стену

Вставка фотоальбома через bbcode в блогах и т.д.




Вставка фотоальбома через bbcode в блогах и т.д.


0. Делаем копии изменяемых файлов для того, что бы откатить, если что то пошло не так как вы ожидали.
1. В файле /includes/bbcode/bbcode.lib.php

где то после
Код PHP:
  1.  
  2. 'img' => array(
  3. 'handler' => 'img_2html',
  4. 'is_close' => false,
  5. 'lbr' => 0,
  6. 'rbr' => 0,
  7. 'ends' => array(),
  8. 'permission_top_level' => true,
  9. 'children' => array()
  10. ),
вставляем

Код PHP:
  1.  
  2. 'photoalbum' => array(
  3. 'handler' => 'photoalbum_2html',
  4. 'is_close' => false,
  5. 'lbr' => 0,
  6. 'rbr' => 0,
  7. 'ends' => array(),
  8. 'permission_top_level' => true,
  9. 'children' => array()
  10. ),
в этом же файле, например перед

Код PHP:
  1. // Функция - обработчик тега [img]
  2. function img_2html($elem) {
вставляем

Код PHP:
  1. function photoalbum_2html($elem) {
  2. $eelem = $this -> get_html($elem['val']);
  3. $inDB = cmsDatabase::getInstance();
  4. $bbcode_album_photo = '<div class="bb_album" align="center">';
  5. $sql = "SELECT id, file, title
  6. FROM `cms_photo_files`
  7. WHERE
  8. album_id = '$eelem'
  9. ORDER BY id DESC
  10. LIMIT 200";
  11. $rs = $inDB->query($sql);
  12. if(!$inDB->num_rows($rs)){ return false; }
  13. while ($item = $inDB->fetch_assoc($rs)){
  14. $bbcode_album_photo .= '<a target="_blank" class="lightbox-enabled" rel="lightbox-galery" title="'.$item['title'].'" href="/images/photos/medium/'.$item['file'].'"><img alt="'.$item['file'].'" src="/images/photos/small/'.$item['file'].'"/></a>';
  15. }
  16. $bbcode_album_photo .= '</div><div style="clear:both;"></div>';
  17. return $bbcode_album_photo;
  18. }
в файле styles.css задаем стили для альбома и фоток в нем, в конце файла вставляем
Код PHP:
  1.  
  2. .bb_album{
  3. display:block; padding:10px; border:5px #E7EFF5 solid; outline:1px solid silver; border-radius:5px;
  4. }
  5. .bb_album img{
  6. margin:3px; border:5px solid #fff; outline:1px solid silver;
  7. }
или свои стили

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

Код PHP:
  1. [photoalbum]111[/photoalbum]

111 номер фотоальбома из компонента photos или из клубов. Номер альбома виден на странице альбома в адресной строке.
Выводится до 200 фотографий из этого альбома от последней к более ранним. При добавлений фотографии в альбом в посте ничего не изменится пока не пересохраните пост. Количество фотографий можно регулировать в запросе выше где LIMIT 200
Онлайн редактор изображений для админа на базе API Pixlr | Автозамена ссылок на видео Youtube на код ролика + плеер Uppod или модальное окно
Теги: bbcode
Комментарии (9)
@Однако@ 18 мая 2017 в 17:21 +2
Интересно +. Благодаря вашему блогу прям захотелось сделать что-нибудь на первой ветке smile
Нил™ 18 мая 2017 в 21:20 +3
О, ну я тогда пожалуй ещё что нибудь опубликую)
Bubble Gumoff 21 мая 2017 в 23:59 0
Спасибо! Наконец можно улучшить единичку бесплатно.
Это как я понял только для комментов (бб-код)
а где еще он есть scratch
Нил™ 22 мая 2017 в 00:03 0
нет, ббкоды и этот в том числе работают в комментах, в блогах, на форуме, на стене пользователя или клуба
Нил™ 22 мая 2017 в 00:09 0
а, еще в личных сообщениях. Но я в основном делал это для блога, что бы можно было вставлять много фоток в виде галереи в посты блога, это скорее для случаев, когда делаешь сайт со статьями на блогах, не для массового пользователя, я так думаю.
Bubble Gumoff 23 мая 2017 в 22:47 0
Но если каталог например, нужно чтоб фильтры были подключены правильно?
Без фильтров ведь работать не будет?
Нил™ 23 мая 2017 в 23:43 0
Через фильтры НЕ будет работать. Это bbcode тег, не фильтр. В ниуверсальном каталоге бб коды не работают
Bubble Gumoff 30 мая 2017 в 18:53 0
Жаль, а что нужно сделать чтобы подключить ббкод к каталогу?
Надо чтобы его редактор (FCKeditor) использовал ббкод ?
Яков Соломон 23 мая 2017 в 20:59 0
Круто.Такое бы для двойки и цены не было бы