FancyBox 4 SMF

Автор Alex32, 20 августа 2015, 10:18:22

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Alex32

Переустановил мод FancyBox 4 SMF т.к. перестали картинки слайдом идти, при клике по какому либо на следующее изображение переход планый был а на третье уже нет, только 2 изображения, остальные вручную нужно было. Теперь вообще не открываются как ранее с кнопкой вперед, назад, а всплывает окно отдельное (скрин1), а на некоторых вообще не работает, просто увеличивается как при не установленном моде (Скрин2). Настройки вроде как и были поставил.

Yarik

Ошибки при установке,ошибки в логах есть?

Alex32

При установке не было, в логах не знаю как посмотреть это :facepalm: Не хочется откатываться на резервную копию

Yarik

Цитата: Alex32 от 20 августа 2015, 10:46:34в логах не знаю как посмотреть это

Админка-логи

Alex32

Только какие ошибки не найдено... Раньше работал как надо, слад запускался, вот перестал слайд идти после второго изображения. решил переустановить, переустановил теперь вообще не работает.

Yarik

Видать несоместимость где-то с модами.Вспоминайте что ставили в последнее время из модов,или изменения какие вносили?

Alex32

#6
Буду откатываться на резервную копию наверное. В менеджере пакетов мод как устаревшая версия и unknown - неизвестный как я понимаю.
Хотел попробовать установить Highslide 4 SMF пробовать, на ихней страничке не могу понять где что скачать, переводчик не переводит ничего, есть у кого архив мода.

В итоге установил Highslide_Viewer_1.7 вроде нормально все устраивает, хотя предыдущий более нравился. Еще бы слайд автоматом запускался.

valdnieks

Зачем, всё это делать? Зайдите в каталог на файл и передвиньте мод.
Registered Linux user #325316
Последняя версия SMF: SMF 2.0.15
Версия GD: bundled (2.1.0 compatible)
Версия MySQL: 5.5.23
PHP: 5.6.30
Версия Web сервера: Apache/2.4.25 (Win64) PHP/5.6.30

GeorG

В шапку вставить jqery скрипт.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Alex32

Ни что передвинуть ни как в шапку вставить не знаю. Пусть будет как сейчас наверное, а то понадвигаю

valdnieks

Цитата: Alex32 от 20 августа 2015, 15:07:20Ни что передвинуть ни как в шапку вставить не знаю. Пусть будет как сейчас наверное, а то понадвигаю

Вы в хосте или на домашнем компе общаетесь?
Registered Linux user #325316
Последняя версия SMF: SMF 2.0.15
Версия GD: bundled (2.1.0 compatible)
Версия MySQL: 5.5.23
PHP: 5.6.30
Версия Web сервера: Apache/2.4.25 (Win64) PHP/5.6.30

Alex32

#11
Домашний. Прошлый мод открывал картинки, что на внешнем хостинге тоже так же всплывало, а здесь идет перенаправление на http://postimg.cc/image/... Позже буду демать как вернуть FancyBox 4 SMF

valdnieks

Цитата: Alex32 от 20 августа 2015, 15:29:32Домашний

Скопируйте файл и делайте что хотите.
Мы с Вами общались с другим модом. Я не помог, но пришло решение.
Registered Linux user #325316
Последняя версия SMF: SMF 2.0.15
Версия GD: bundled (2.1.0 compatible)
Версия MySQL: 5.5.23
PHP: 5.6.30
Версия Web сервера: Apache/2.4.25 (Win64) PHP/5.6.30

valdnieks

У GeorG проконсультируйтисе.
--------------------------------------------
Извините, сейчас сплю.
Registered Linux user #325316
Последняя версия SMF: SMF 2.0.15
Версия GD: bundled (2.1.0 compatible)
Версия MySQL: 5.5.23
PHP: 5.6.30
Версия Web сервера: Apache/2.4.25 (Win64) PHP/5.6.30

sb67

Пользуюсь модом, очень нравится, но есть одна проблема, если создать ссылку в виде картинки, то при клики на неё открывается лайтбокс с изображением без возможности перехода по данной ссылке, как решить проблему?
[url=https://ссылка][img width=16]https://картинка[/img][/url]Я думал сделать проверку на вложенность тега [img] в [url], но своими силами не справился. Еще думал проверять размер изображение, если он меньше 64px, то не выводить лайтбокс, но тоже не понял как это сделать (нашёл переменную {width}, но как я понял, это для javascript). Если есть возможность помогите решить данную проблему, спасибо.
Да, ещё хотел спросить -- В настройках мода есть функция "Обработка изображений, вставленных с помощью тега img", это просто кнопка включения\выключения мода или есть теги по умолчанию, которые он обрабатывает когда эта функция отключена?

P.S. пробовал писать Bugo в лс, но ответ не получил (всё понимаю, человек может быть занят), решил спросить здесь.

GeorG

Цитата: sb67 от 30 июня 2018, 22:01:46но есть одна проблема, если создать ссылку в виде картинки, то при клики на неё открывается лайтбокс с изображением без возможности перехода по данной ссылке, как решить проблему?
Дык. Если вы её решите, то тут же появится другая проблема, а именно не будет работать лайтбокс при вставке на форум изображений в ссылке.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

sb67

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

Bugo

Есть еще вариант, что у вас личка забита и ответить просто не получилось из-за ограничений :)
Мод в пятницу обновил, теперь можно выводить ссылку для скачивания при просмотре через лайтбокс.

sb67

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

Пример:

Цитата: Bugo от 01 июля 2018, 05:16:48Есть еще вариант, что у вас личка забита и ответить просто не получилось из-за ограничений
Видимо проблема на форуме
ЦитироватьКоличество:
5 сообщений, заполнен на 1.7%.

Bugo

Если пошаманить с Class-FancyBox.php, добавив примерно с 50 строчки код:
var temp = $("a.bbc_link");
 if (temp.text() == "") {
 temp.next().attr("class", "bbc_link").removeAttr("data-fancybox").attr("href", temp.attr("href"));
 temp.remove();
 }
то результат будет верным?

sb67

Не сработало, вставил сюда
$context['insert_after_template'] .= '
<script type="text/javascript"><!-- // --><![CDATA[
jQuery(document).ready(function($){
$("a[id^=link_]").addClass("fancybox").removeAttr("onclick").attr("rel", "group");
$("div[id*=_footer]").each(function(){
var id = $(this).attr("id");
$("#" + id + " a[rel=group]").attr("rel", "group_" + id);
});
var temp = $("a.bbc_link");
if (temp.text() == "") {
temp.next().attr("class", "bbc_link").removeAttr("data-fancybox").attr("href", temp.attr("href"));
temp.remove();
}
$(".fancybox").fancybox({
type: "image",
openEffect: "' . $modSettings['fancybox_open_effect'] . '",
openSpeed: ' . (int) $modSettings['fancybox_open_speed'] . ',
closeEffect: "' . $modSettings['fancybox_close_effect'] . '",
closeSpeed: ' . (int) $modSettings['fancybox_close_speed'] . ',
nextEffect: "' . $modSettings['fancybox_next_effect'] . '",
nextSpeed: ' . (int) $modSettings['fancybox_next_speed'] . ',
prevEffect: "' . $modSettings['fancybox_prev_effect'] . '",
prevSpeed: ' . (int) $modSettings['fancybox_prev_speed'] . ',
autoPlay: ' . (!empty($modSettings['fancybox_autoplay']) ? 'true' : 'false') . ',
playSpeed: ' . (int) $modSettings['fancybox_playspeed'] . ',
tpl: {
error: \'<p class="fancybox-error">' . $txt['fancy_text_error'] . '</p>\',
closeBtn: \'<div title="' . $txt['find_close'] . '" class="fancybox-item fancybox-close"></div>\',
next: \'<a title="' . $txt['fancy_button_next'] . '" class="fancybox-item fancybox-next"><span></span></a>\',
prev: \'<a title="' . $txt['fancy_button_prev'] . '" class="fancybox-item fancybox-prev"><span></span></a>\'
},
helpers: {
title: {type: "' . $modSettings['fancybox_title_position'] . '"},
buttons: {
tpl: \'<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="' . $txt['fancy_button_prev'] . '" href="javascript:;"></a></li><li><a class="btnPlay" title="' . $txt['fancy_slideshow_start'] . '" href="javascript:;"></a></li><li><a class="btnNext" title="' . $txt['fancy_button_next'] . '" href="javascript:;"></a></li><li><a class="btnToggle" title="' . $txt['fancy_toggle_size'] . '" href="javascript:;"></a></li><li><a class="btnClose" title="' . $txt['find_close'] . '" href="javascript:jQuery.fancybox.close();"></a></li></ul></div>\',
position : "' . $modSettings['fancybox_panel_position'] . '"
},';

Bugo

Так это старая версия, а я правку уже к новой предлагаю.

sb67

#22
Не работает.
jQuery(document).ready(function($){
 $("a[id^=link_]").addClass("fancybox").removeAttr("onclick").attr("data-fancybox", "gallery");
 $("div[id*=_footer]").each(function(){
 var id = $(this).attr("id");
 $("#" + id + " a[data-fancybox=gallery]").attr("data-fancybox", "gallery_" + id);
 });
 var temp = $("a.bbc_link");
 if (temp.text() == "") {
 temp.next().attr("class", "bbc_link").removeAttr("data-fancybox").attr("href", temp.attr("href"));
 temp.remove();
 }
 $(".fancybox").fancybox({
 buttons: [
 "zoom",
 "slideShow",
 "fullScreen",';
получившийся HTML
<a href="https://mega.nz/#F!l08RjboL!tKqukz6LTU1W" class="bbc_link" target="_blank">
<a href="https://mega.nz/favicon.ico" class="fancybox" title="" data-fancybox="topic"><img src="https://mega.nz/favicon.ico" alt="" width="16" /></a>
</a>

Bugo

Проверил у себя, всё работает (FancyBox не работает, если картинка в ссылке — с учетом предложенной правки).
Предполагается, что опция «Обработка изображений, вставленных с помощью тега» включена.

sb67

У меня вот такая конструкция [url=http://yandex.ru][img width=64]https://img.xdrv.ru/logos/256/yandex_logo.png[/img][/url] с включенной опцией "Обработка изображений, вставленных с помощью тега img" открывает картинку в лайтбоксе, переход по сылке не происходит :(

Bugo

Тогда этот код попробуйте вместо того:
$("a.bbc_link").each(function(){
 var img_link = $(this);
 if (img_link.text() == "") {
 img_link.next().attr("class", "bbc_link").removeAttr("data-fancybox").attr("href", img_link.attr("href"));
 img_link.remove();
 }
 });
Наверное, в виде опции сделаю.

sb67

Спасибо, заработало, единственное ссылки открываются в текущем окне (нет атрибута target="_blank), но это уже мелочи.

Bugo

Добавлю в следующей версии :)

Yarik

Автор а подскажи где можно найти предыдущие версии мода?
Эта версия мода конфликтует с установленными модами на уровне скриптов.

Bugo

В интернете, я их не храню. Да и на jQuery 3 рано или поздно всем модам придется перейти (в SMF 2.1)

Yarik

Цитата: Bugo от 02 июля 2018, 18:30:38Да и на jQuery 3 рано или поздно всем модам придется перейти (в SMF 2.1)
Спасибо...Пока она выйдет я уже внуков нянчить буду.
А на вскидку на помните какая версия jQuery загружалась раньше?
Если у кого-то есть старый мод скиньте пожалуйста сюда.

Juanito

Мод работает, но вот такую ошибку вижу в админке. Как починить? smf 2.0.15, мод становился без ошибок.

Yarik

Версия РНР какая?

Juanito

Цитата: S.T.A.L.K.E.R. от 25 декабря 2018, 10:55:27Версия РНР какая?
7.0.30 (как говорили на оф форум smf, это самая идеальная версия для форума).

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

Yarik

Цитата: Juanito от 25 декабря 2018, 15:18:437.0.30 (как говорили на оф форум smf, это самая идеальная версия для форума).
Для форума,но не для модов. Многие моды РНР выше 5.6 не поддерживают. Подозреваю что этот мод не исключенье.

Juanito

Цитата: S.T.A.L.K.E.R. от 25 декабря 2018, 15:41:20Для форума,но не для модов. Многие моды РНР выше 5.6 не поддерживают. Подозреваю что этот мод не исключенье.
Действительно, на 5.6 посмотрел сейчас, бага не наблюдается. Но стоит ли из-за этого откатывать до 5.6?... Я не знаю, разница вообще в чём между 7.0.30 и 5.6?

Juanito

Подсказали решение. В Class-FancyBox.php заменить

public function settings()
на

public static function settings()

Juanito

К сожалению, на маленьких экранах (мобилки) изображения при устанвоке этого мода вылезают за пределы экрана. Имею в виду до того, как на них нажали. У меня от этого прописан код в  css:

/* Auto resizing of images in posts and personal messages. */
/* Change sizing to suit your own preferences. */
.bbc_img {
height: auto;
width: auto;
/* This is just to keep images to a handy size, even on large screens. */
max-height: 640px;
/* This prevents images breaking out of the post on small screens. */
max-width: 95%;
}

Но мод его перекрывает. Посмотрев код мода, куда там можно впихнуть max-width, без понятия.

Juanito

В только что появившейся новой версии мода разработчик добавил возможность вставки кастомной css для мода по адресу: /Themes/default/css/jquery.fancybox.custom.css

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

Bugo

Указанный файл стилей точно загружается?

Можно попробовать так:
.bbs_img{
  display: block;
  height: auto;
  max-width: 100%;
}

Juanito

#40
Цитата: Bugo от 26 декабря 2018, 10:15:53Указанный файл стилей точно загружается?

Можно попробовать так:
.bbs_img{
  display: block;
  height: auto;
  max-width: 100%;
}
О, вы оказывается и здесь есть.

Я понял, в чём была проблема. На некоторых изображениях в темах на моём форуме стояли параметры вроде [img width=900 height=562], оставшиеся ещё со старых времён, когда были установлены границы изображения в админке форума (тогда автоматически приписывются эти размеры в бб коды). Но до установки FancyBox мой код, что стоит в index.css темы, который я указывал выше, нивелировал это, и все изображения - и с указанными параметрами размеров, и без них - отображались нормально на мелких экранах. Без этого кода изображения тоже не вылазили за пределы, но изображения с заданными размерами расплющивались на мелких экранах (нарушались пропорции ширины-высоты).

А вот после установки мода всё меняется. Без кода изображения вылазят за пределы экрана, а при вставке кода он действует только на те изображения, у которых не заданы размеры через bb коды. Мелочь, конечно, но есть ли способ сделать так, чтобы установка размера через bb коды не заставляла изображения вылазить за пределы окна сообщения на любом экране?


-------
Если я запутал, то перефразирую: есть ли способ, чтобы с данным модом изображения, у которых стоят параметры [img width= height=], не вылазили за пределы экрана на маленьких экранах? Ни мой старый код, ни этот новый от этого не спасают.

Juanito

Ну и ещё некая магия: на скриншоте картинка с установленными параметрами width=900 height=562. На первом скриншоте то, как её видят зарегистрированные пользователи на обычном экране, на втором - как её видят гости. Если сузить экран до мобильного, то и те, и те, будут видеть, как гости. До установки мода гости видят изображение так же, как и зарегистрированные.

Bugo

У таких изображений и класса-то вроде нет. Попробуйте правило в CSS задавать для .post img, и, возможно, !important для каждой строчки правила добавить.

Juanito

Цитата: Bugo от 26 декабря 2018, 14:29:41У таких изображений и класса-то вроде нет. Попробуйте правило в CSS задавать для .post img, и, возможно, !important для каждой строчки правила добавить.
Не помог ни один из вариантов, к сожалению:(

Delysid

Цитата: Juanito от 26 декабря 2018, 14:46:07Не помог ни один из вариантов, к сожалению:(
Я вот установил буквально неделю назад версию 0.6.1 по причине что писало в браузере что пора jquery обновить..
Кстати 5 версия мне больше нравилась.. В любом случае спасибо за работу и обновление, браузер перестал сигналить про обновление jquery
Новая работает как часики. Вам нужно если не стандартная тема сравнить css из стандартной темы.
Да ещё скорее тема которую взяли не писалась под мобильные.. Покапайте в сторону метатега viewport

Juanito

#45
Цитата: Delysid от 27 декабря 2018, 04:58:16Я вот установил буквально неделю назад версию 0.6.1 по причине что писало в браузере что пора jquery обновить..
Кстати 5 версия мне больше нравилась.. В любом случае спасибо за работу и обновление, браузер перестал сигналить про обновление jquery
Новая работает как часики. Вам нужно если не стандартная тема сравнить css из стандартной темы.
Да ещё скорее тема которую взяли не писалась под мобильные.. Покапайте в сторону метатега viewport
Наоборот. Тема, которая у меня стоит (Flexive с моей редакцией цветов) как раз-таки под мобильные очень хорошей резиновой вёрсткой адаптирована, там при сужении экрана до определённой степени даже элементы убираются маловажные.

Тут вот что интересно, что есть какая-то разница между гостем и пользователем при установке данного мода.

Потому что:
Без мода:
Изображения в тегах img как с указанием размеров, так и без, на маленьких и больших экранах не вылазят за пределы

С модом:
Изображения в тегах img без указания размеров отображаются, как нужно
С указанием размеров: у пользователей вылазят за пределы экрана только на маленьких экранах (мобилки), у гостей вылазят за пределы экрана и на экране компьютера.

В общем тут просто нужно, чтобы мод учитывал изображения в тегах img с указанием размеров (width, height) так же, как и без них, не давая им вылезать за пределы экрана. Это возможно каким-то образом, ибо на моей теме так сделано, а вот каким... надеюсь, у разработчика мода появятся какие-то идеи.

Bugo

В Class-FancyBox.php замените блок
if ($user_info['is_guest'])
 $hiwi = '';
 else
 $hiwi = '{width}{height}';

 if ($code['content'] == '<img src="$1" alt="" class="bbc_img" />')
 $code['content'] = '<a href="$1" class="fancybox" data-fancybox="topic"><img src="' . (!empty($modSettings['fancybox_traffic']) && $user_info['is_guest'] ? $settings['default_images_url'] . '/traffic.gif" title="' . $txt['fancy_click'] : '$1') . '" alt="" class="bbc_img" /></a>';

 if ($code['content'] == '<img src="$1" alt="{alt}"{width}{height} class="bbc_img resized" />')
 $code['content'] = '<a href="$1" class="fancybox" title="{alt}" data-fancybox="topic"><img src="' . (!empty($modSettings['fancybox_traffic']) && $user_info['is_guest'] ? $settings['default_images_url'] . '/traffic.gif" title="' . $txt['fancy_click'] : '$1') . '" alt="{alt}"' . $hiwi . ' /></a>';

на

$code['content'] = '<a href="$1" class="fancybox" data-fancybox="topic"><img src="' . (!empty($modSettings['fancybox_traffic']) && $user_info['is_guest'] ? $settings['default_images_url'] . '/traffic.gif" title="' . $txt['fancy_click'] : '$1') . '" alt="" class="bbc_img" /></a>';
тогда все изображения будут одинаковыми, что с заданным размером, что без, при условии, что в настройках мода включена обработка тега img.

Juanito

Цитата: Bugo от 28 декабря 2018, 12:47:21В Class-FancyBox.php замените блок
if ($user_info['is_guest'])
 $hiwi = '';
 else
 $hiwi = '{width}{height}';

 if ($code['content'] == '<img src="$1" alt="" class="bbc_img" />')
 $code['content'] = '<a href="$1" class="fancybox" data-fancybox="topic"><img src="' . (!empty($modSettings['fancybox_traffic']) && $user_info['is_guest'] ? $settings['default_images_url'] . '/traffic.gif" title="' . $txt['fancy_click'] : '$1') . '" alt="" class="bbc_img" /></a>';

 if ($code['content'] == '<img src="$1" alt="{alt}"{width}{height} class="bbc_img resized" />')
 $code['content'] = '<a href="$1" class="fancybox" title="{alt}" data-fancybox="topic"><img src="' . (!empty($modSettings['fancybox_traffic']) && $user_info['is_guest'] ? $settings['default_images_url'] . '/traffic.gif" title="' . $txt['fancy_click'] : '$1') . '" alt="{alt}"' . $hiwi . ' /></a>';

на

$code['content'] = '<a href="$1" class="fancybox" data-fancybox="topic"><img src="' . (!empty($modSettings['fancybox_traffic']) && $user_info['is_guest'] ? $settings['default_images_url'] . '/traffic.gif" title="' . $txt['fancy_click'] : '$1') . '" alt="" class="bbc_img" /></a>';
тогда все изображения будут одинаковыми, что с заданным размером, что без, при условии, что в настройках мода включена обработка тега img.
Теперь всё работает идеально, благодарю. Думаю, эту проблему стоит решить в официальном будущем обновлении мода.

Delysid

#48
Не смог найти тему автора, пишу сюда..
Появилась проблема на последних версиях как пошли люди с мобильных..
Ошибка такая:
https://i.postimg.cc/fL1GrhwT/opacki.jpg
Попробовал вписывать $txt['fancy_click'] = 'Click to load original image';
всё равно полно ошибок в логе? Чё делать?
Это появилось когда я установил мод AdkABoards и создал в board описание раздела..
Версия 0.6.2 тоже ошибку льёт, кроме версии FancyBox 0.5.1.1 (нашёл по старше) но там пишет браузер что надо обновить querly.
Как эту ошибку убрать? Так то мод работает... Печаль, всю ночь угрохал думал своими силами починить..

Bugo

В Subs-AdkABoards.php замените
function AdkABoards_buffer(&$buffer)на
function AdkABoards_buffer($buffer)
В Class-FancyBox.php после
public static function bbcCodes(&$codes)
 {
 global $modSettings, $user_info, $settings, $txt;
поставьте
loadLanguage('FancyBox/');