При переходе с WordPress на Instant я лишился одного замечательного плагина для увеличения картинок по клику без перезагрузки страницы — auto-highslide. Решил реализовать эту полезность для своих статей и на Инстанте.
1. В файле /components/content/frontend.php после
добавить
2. В файле template.php используемой темы оформления в head добавить
3. Разархивировать и положить в корень сайта highslide.zip
Можно положить и не в корень, но тогда поменяйте пути до файлов в пункте 2.
Буду рад, если кому-то пригодится.
UPD: метод, описанный выше, работает только если при вставке картинки указывать в качестве ссылки — ее оригинал. Если подобное вас не совсем устраивает, и на своем сайте вы привыкли просто вставлять картинки, задавая размеры уменьшенной копии, то используйте ниже описанный способ (сразу хочу предостеречь тех, кто на своем сайте размещает кнопки или баннеры на другие ресуры — способом, описанным ниже, вы отрежете себе такую возможность, ссылки на баннерах будут вызывать javascript, поэтому при нажатии будет осуществлен не переход по ссылке, а увеличение картинки):
1. В файле /components/content/frontend.php после
добавить
2. В файле template.php используемой темы оформления в head добавить
3. Разархивировать и положить в корень сайта highslide.zip
Можно положить и не в корень, но тогда поменяйте пути до файлов в пункте 2.
1. В файле /components/content/frontend.php после
$article_content = $cfg['readdesc'] ? $article['description'].$article['content'] : $article['content'];
$pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i"; $replacement = '<a$1href=$2$3.$4$5 class="highslide-image" onclick="return hs.expand(this);"$6>$7</a>';
<script type="text/javascript" src="/highslide/highslide-with-html.packed.js"></script> <script type="text/javascript"> hs.graphicsDir = "/highslide/graphics/"; hs.outlineType = "rounded-white"; hs.outlineWhileAnimating = true; hs.showCredits = false; </script>
Можно положить и не в корень, но тогда поменяйте пути до файлов в пункте 2.
Буду рад, если кому-то пригодится.
UPD: метод, описанный выше, работает только если при вставке картинки указывать в качестве ссылки — ее оригинал. Если подобное вас не совсем устраивает, и на своем сайте вы привыкли просто вставлять картинки, задавая размеры уменьшенной копии, то используйте ниже описанный способ (сразу хочу предостеречь тех, кто на своем сайте размещает кнопки или баннеры на другие ресуры — способом, описанным ниже, вы отрежете себе такую возможность, ссылки на баннерах будут вызывать javascript, поэтому при нажатии будет осуществлен не переход по ссылке, а увеличение картинки):
1. В файле /components/content/frontend.php после
$article_content = $cfg['readdesc'] ? $article['description'].$article['content'] : $article['content'];
$pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i"; $replacement = '<a href=$2$3.$4$5 class="highslide-image" onclick="return hs.expand(this);"><img$1src=$2$3.$4$5 $6></a>';
<script type="text/javascript" src="/highslide/highslide-with-html.packed.js"></script> <script type="text/javascript"> hs.graphicsDir = "/highslide/graphics/"; hs.outlineType = "rounded-white"; hs.outlineWhileAnimating = true; hs.showCredits = false; </script>
Можно положить и не в корень, но тогда поменяйте пути до файлов в пункте 2.
Реклама #
WALTERZ 13 лет назад #
Превью вещица хорошая
можно взглянуть на демо?
del 13 лет назад #
Ну, вот, например, тут картинки в статье есть: http://new.linux-easy.ru/blog/articles/pervyj-test-ustanovki-lmde.html
imprint 13 лет назад #
del 13 лет назад #
imprint 13 лет назад #
del 13 лет назад #
imprint 13 лет назад #
del 13 лет назад #
imprint 13 лет назад #
del 13 лет назад #
del 13 лет назад #
del 13 лет назад #
imprint 13 лет назад #
del 13 лет назад #
imprint 13 лет назад #
Юрий 13 лет назад #
del 13 лет назад #
Юрий 13 лет назад #
del 13 лет назад #
del 13 лет назад #
Простите, с телефона пишу.
Юрий 13 лет назад #
del 13 лет назад #
del 13 лет назад #
Принцип:
- Ищем все выражения вида:
Серёга 13 лет назад #
del 13 лет назад #
Серёга 13 лет назад #
del 13 лет назад #
Чтобы доработать скрипт, мне нужно посидеть и практически методом тыка (конечно же, с использованием мануалом по preg_replace) написать правильный шаблон поиска и замену найденного. Если время будет, займусь.
Серёга 13 лет назад #
del 13 лет назад #
Сделал, проверяйте...
del 13 лет назад #
Честно говоря, у меня на это ушло всего 2 минуты, сам не ожидал. Если работать будет, отпишитесь, я дополню сам пост, внесу в него и этот способ.
Серёга 13 лет назад #
del 13 лет назад #
imprint 13 лет назад #
imprint 13 лет назад #
Серёга 13 лет назад #
del 13 лет назад #
Игорь 13 лет назад #
del 13 лет назад #
imprint 13 лет назад #
del 13 лет назад #
P.S. У Вас же сейчас сделано увеличение при наведении.
Александр 13 лет назад #
под аватаркой отправить сообщение там))) *
del 13 лет назад #
Профмаркет 11 лет назад #
вместо строки
Код PHP:
$article_content = preg_replace($pattern, $replacement, $article_content);
нужно писать
Код PHP:
$article['content'] = preg_replace($pattern, $replacement, $article['content']);
Спасибо del что помог разобраться
GoodNet 11 лет назад #
У меня в файле /components/content/frontend.php нет такой строки $article_content = $cfg['readdesc'] ? $article['description'].$article['content'] : $article['content'];
Версия CMS 1.10.
Так же еще один вопрос, этот скрипт будет увеличивать картинки на форуме, в объявлениях или только в статьях?
del 11 лет назад #
2. Правки касаются компонента content, как Вы могли догадаться по месту расположения файла, а значит кроме статей эти правки ничего не затрагивают.
del 11 лет назад #
P.S. Я не использую новую версию движка, поэтому не могу помочь разобраться в данном вопросе более детально.
GoodNet 11 лет назад #
Строк, как в посте выше тоже нет, поэтому и спрашивал..
Shishlena 11 лет назад #
Mikhail 11 лет назад #
Все работает, но у меня такой вопрос, картинка открывается в отдельном окне, а как сделать чтобы она увеличивалась в том же?
del 11 лет назад #
Thanatognozija 10 лет назад #
Thanatognozija 10 лет назад #
del 10 лет назад #
inside 8 лет назад #
del 8 лет назад #
Jestik 8 лет назад #