Увеличение фото в статьях

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Как сделать увеличение фото в статьях?

#1 23 марта 2013 в 10:18
Добрый день, форумчане!

Может кто подскажет или скинет ссылку на готовую реализацию?!
Вопрос в следующем: Необходим плагин или может быть это фильтр, который будет находить в исходном коде статьи изображения и обрамлять их ссылкой <a href="/images/photos/medium/имя_фото.jpg" rel="lightbox"> и соответственно в конце </a>. Т.е. выводить изображения в галереи Lightbox или ее клонах. Хочется, чтобы не было привязки к визуальному редактору, чтобы не делать редакторам дополнительных действий. Желательно, чтобы это был не хак, а именно решение в виде отдельного плагина или фильтра!
Спасибо.
#2 23 марта 2013 в 10:27
Фильтр — как то так
  1.  
  2. <?php
  3. /******************************************************************************/
  4. // //
  5. // InstantCMS v1.10.1 //
  6. // http://instantcms.ru/ //
  7. // //
  8. // written by InstantCMS Team, 2007-2010 //
  9. // produced by InstantSoft, (www.instantsoft.ru) //
  10. // //
  11. // LICENSED BY GNU/GPL v2 //
  12. // //
  13. /******************************************************************************/
  14.  
  15. function f_image(&$text){
  16. //REPLACE IMAGE LINKS
  17. $regex = '/<img width="(\d+)" height="(\d+)"(.*?)src="([^"]*)"([^>]*)>/i';
  18. $output = '<a class="gallery" rel="group" href="$4"><img style="width:auto; height:100px" src="$4" $3 $5 ></a>';
  19. $text = preg_replace($regex, $output, $text );
  20. return true;
  21. }
  22. ?>
  23.  
#3 23 марта 2013 в 10:43


Фильтр — как то так

  1.  
  2.  
  3.  

Anton Bogoradov
Фильтрами еще не пользовался.
Сделал по подобию:
В каталоге /www/filters/ создал каталог f_lightbox, в нем создал файл filter.php с вашим содержимым.
Что-то ничего не изменилось. Можете поправить, немного подробнее написать?!
#4 23 марта 2013 в 10:55



Фильтр — как то так

  1.  
  2.  
  3.  

Anton Bogoradov
Фильтрами еще не пользовался.
Сделал по подобию:
В каталоге /www/filters/ создал каталог f_lightbox, в нем создал файл filter.php с вашим содержимым.
Что-то ничего не изменилось. Можете поправить, немного подробнее написать?!

irbis

Эмм надо бы исчо установить фильтр в php_my_admin
Выполните запрос
  1.  
  2. INSERT INTO `cms_filters` (`id`, `title`, `description`, `link`, `published`) VALUES
  3. (8, 'FanciBox для картинок статей', 'Изменяет размер картинок в статьях увеличение при клике', 'f_lightbox', 1);
  4.  
Потом проверте в админке включён ли фильтр ну и стили в самом файле поменяйте под свои
#5 23 марта 2013 в 15:25




Фильтр — как то так

  1.  
  2.  
  3.  

Anton Bogoradov
Фильтрами еще не пользовался.
Сделал по подобию:
В каталоге /www/filters/ создал каталог f_lightbox, в нем создал файл filter.php с вашим содержимым.
Что-то ничего не изменилось. Можете поправить, немного подробнее написать?!

irbis

Эмм надо бы исчо установить фильтр в php_my_admin
Выполните запрос
  1.  
  2. INSERT INTO `cms_filters` (`id`, `title`, `description`, `link`, `published`) VALUES
  3. (8, 'FanciBox для картинок статей', 'Изменяет размер картинок в статьях увеличение при клике', 'f_lightbox', 1);
  4.  
Потом проверте в админке включён ли фильтр ну и стили в самом файле поменяйте под свои

Anton Bogoradov

Фильтр создал, спасибо. Но...
Мой визуальный редактор генерит следующую строку:
  1. <img alt="Описание изображения" src="/images/photos/medium/2734b910c264efc0376f8c5f2345eb4b.jpg" style="width: 600px; height: 385px;" />
Помогите переделать регулярное выражение! И внести соответствующие изменения в код фильтра!
#6 23 марта 2013 в 15:41
Все, сделал сам. Спасибо!
Вот мой код:
  1. $regex = '/<img([^src]*)src="([^"]*)" style="([^"]*)"([^>]*)>/i';
  2. $output = '<a class="lightbox-enabled" rel="lightbox-galery" href="$2"><img$1src="$2" style="$3"/></a>';
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.