phpBB Gallery (nickvergessen)
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
mEx
- phpBB 1.4.4
- Сообщения: 197
- Стаж: 19 лет 5 месяцев
- Благодарил (а): 4 раза
Re: phpBB Gallery (nickvergessen)
Еще вопрос, почему комментарии оставленные в галереи не учитываются в кол-во сообщений, которые сотавил пользователь?
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: phpBB Gallery (nickvergessen)
А они и не должны учитываться, т.к. это комментарии к изображениям, а не форумные сообщения.
-
TSV
- phpBB 1.4.2
- Сообщения: 56
- Стаж: 18 лет 3 месяца
- Откуда: Чита
- Поблагодарили: 2 раза
Re: phpBB Gallery (nickvergessen)
mEx
Ещё во вкладке "Разные" есть параметр "Может видеть альбом". Тоже должно стоять "Да". Проверьте, мало ли.
Ещё во вкладке "Разные" есть параметр "Может видеть альбом". Тоже должно стоять "Да". Проверьте, мало ли.
Опыт позволяет нам ошибаться гораздо увереннее.
-
mEx
- phpBB 1.4.4
- Сообщения: 197
- Стаж: 19 лет 5 месяцев
- Благодарил (а): 4 раза
-
TSV
- phpBB 1.4.2
- Сообщения: 56
- Стаж: 18 лет 3 месяца
- Откуда: Чита
- Поблагодарили: 2 раза
Re: phpBB Gallery (nickvergessen)
Ну как вариант, т.к. фотографии скорее всего выводятся через javascript, т.е. через плагин highslide и тому подобный, можно попробовать отключить его для ботов.
Я у себя сделал так:
заменил на
Теперь для ботов фотографии выводятся не через javascript. Попробуй, может в этом причина. 
Я у себя сделал так:
Код: Выделить всё
<!-- INCLUDE gallery/plugins_header.html -->Код: Выделить всё
<!-- IF not S_IS_BOT -->
<!-- INCLUDE gallery/plugins_header.html -->
<!-- ENDIF -->Опыт позволяет нам ошибаться гораздо увереннее.
-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1454 раза
Re: phpBB Gallery (nickvergessen)
TSV, для Lytebox и Shadowbox это хороший способ, но если используется Highslide, бот будет видеть ошибку Яваскрипта:
gallery/includes/functions.phpЗаменить на
<a onclick="return hs.expand(this)"> — функция отсутствует. Не знаю, критично это или нет, но, по-моему, лучше это сделать так:gallery/includes/functions.php
Код: Выделить всё
$tpl = generate_image_link_plugins($mode);Код: Выделить всё
$tpl = !empty($user->data['is_bot']) ? '<a href="{IMAGE_URL}" title="{IMAGE_NAME}">{CONTENT}</a>' : generate_image_link_plugins($mode);-
TSV
- phpBB 1.4.2
- Сообщения: 56
- Стаж: 18 лет 3 месяца
- Откуда: Чита
- Поблагодарили: 2 раза
Re: phpBB Gallery (nickvergessen)
Вот и решение для Highslide подоспело. 
Хотя у меня ещё и вложенные в сообщения картинки открываются через Highslide, потому закрыл скрипт для всего форума. Не знаю хорошо или плохо от этого поисковикам, но в индексе Яши почти 4000 картинок, при условии, что в галерее их 3800. Вывод: Яша не плюётся.
Хотя у меня ещё и вложенные в сообщения картинки открываются через Highslide, потому закрыл скрипт для всего форума. Не знаю хорошо или плохо от этого поисковикам, но в индексе Яши почти 4000 картинок, при условии, что в галерее их 3800. Вывод: Яша не плюётся.
Опыт позволяет нам ошибаться гораздо увереннее.
-
mEx
- phpBB 1.4.4
- Сообщения: 197
- Стаж: 19 лет 5 месяцев
- Благодарил (а): 4 раза
Re: phpBB Gallery (nickvergessen)
Сделал так, как написала Некстати. Прошло уже много времени, а картинки из галереи все равно не попадают в гугл и яндекс картинки. Может быть где-то надо права на папки поменять?
-
chikin
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 16 лет 1 месяц
- Благодарил (а): 4 раза
Re: phpBB Gallery не могу оценивать(
добрый день, ставлю форум на локалхост, мод добавил, во всём разобрался, только оценка фоток не срабатывает, в чем может быть причина?, ставил уже 3-ы, версия 1.0.5, форума 3.0.7-PL1, в админке функция оценки включена, нажимаешь на ссылку на фотке оценить, перекидывает на фотку, но оценки там нет, написано не оценнео, помогите разобраться пожалуйста
-
mEx
- phpBB 1.4.4
- Сообщения: 197
- Стаж: 19 лет 5 месяцев
- Благодарил (а): 4 раза
Re: phpBB Gallery (nickvergessen)
У меня стоит на папке gallery права - 755, на внутренней папки images в папке gallery - 755, на внутренних папках в images - 777. Может мне попробовать поставить права 777 на папку images?mEx писал(а):Сделал так, как написала Некстати. Прошло уже много времени, а картинки из галереи все равно не попадают в гугл и яндекс картинки. Может быть где-то надо права на папки поменять?
-
chikin
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 16 лет 1 месяц
- Благодарил (а): 4 раза
Re: phpBB Gallery (nickvergessen)
получилось разрешить? такая же штука, по два раза загружает, и только 2 кнопки вперед и назад(fanatic писал(а):При просмотре картинок в галереи с помощью любого из скриптов Lytebox, Highslide и Shadowbox возникает проблема следующего хар-ра:
одну и ту же картинку, при перелистывании, любой из скриптов показывает два раза. Попробовал разобраться сам, но не получается.
Помогите с решением данной проблемы.
-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1454 раза
Re: phpBB Gallery (nickvergessen)
Lytebox, Highslide и Shadowbox тут ни при чём. То же самое наблюдается при любом способе просмотра. chikin, напишите автору багрепорт.
По-моему, дело тут в том, что у HTTP-заголовков картинок отсутствует параметр expires, отчего браузер считает картинки перманентно устаревшими. Господа, разбирающиеся в HTTP-заголовках, подскажите, пожалуйста, что тут не так?
По-моему, дело тут в том, что у HTTP-заголовков картинок отсутствует параметр expires, отчего браузер считает картинки перманентно устаревшими. Господа, разбирающиеся в HTTP-заголовках, подскажите, пожалуйста, что тут не так?
Код: Выделить всё
Server nginx/0.6.35
Date Sun, 29 Aug 2010 12:30:12 GMT
Content-Type image/jpeg
Transfer-Encoding chunked
Connection keep-alive
X-Powered-By PHP/5.2.12
Pragma public
Content-Disposition inline; filename*=UTF-8''Test%202-
chikin
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 16 лет 1 месяц
- Благодарил (а): 4 раза
Re: phpBB Gallery (nickvergessen)
и еще вопрос кто-нибудь выводил последние фото на главную страницу сайта, не форума, а именно самого сайта?
к примеру :
http://твой сайт.ру/forum -сдесь форум
http://твой сайт.ру - сдесь сайт - вот сюда картинки
к примеру :
http://твой сайт.ру/forum -сдесь форум
http://твой сайт.ру - сдесь сайт - вот сюда картинки
-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1454 раза
Re: phpBB Gallery (nickvergessen)
Решение проблемы с кэшированием изображений в галерее. Картинки загружаются повторно при перелистывании страниц, при отправке комментариев и т. д., то есть попросту не кэшируются браузерами.
Причина, как выяснилось, в том, что у картинок отсутствуют HTTP-заголовки Expires и Last-Modified и сервер не проверяет запрос браузера If-Modified-Since. А решение такое: дорабатываем скрипт, отдающий картинки браузеру, так, чтобы логика его работы соответствовала логике работы phpBB с вложениями. Появляются заголовки, появляется кэширование.
Найти в /gallery/includes/functions_image.php (строка 282):
Заменить на:
Вуаля, экономим трафик и нервы.
P. S. Дополнение. Если мы открываем полноразмерную картинку по прямой ссылке со страницы gallery/image_page.php, а потом открываем её же по ссылке с другой страницы (например, gallery/index.php), то картинка загружается повторно. Происходит это из-за того, что прямая ссылка, размещённая на странице gallery/image_page.php, содержит параметр view=no_count, а в остальных случаях не содержит. Браузер принимает картинку с этим параметром и картинку без параметра за две разные картинки и кэширует каждую из них отдельно. (Под прямой ссылкой здесь имеется в виду ссылка вида gallery/image.php?album_id=1&image_id=1, именно она используется скриптами Highslide/Lytebox/Shadowbox.) Параметр этот необязательный, он влияет только на подсчёт просмотров. Убираем его и получаем нормальное кэширование без каких-либо оговорок:
Найти в /gallery/includes/functions_image.php (строка 282):
Код: Выделить всё
if ($this->image)Код: Выделить всё
/**
* Check if the browser has the file already and set the appropriate headers-
* @returns false if a resend is in order.
*/
function set_modified_headers($stamp, $browser)
{
// let's see if we have to send the file at all
$last_load = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? strtotime(trim($_SERVER['HTTP_IF_MODIFIED_SINCE'])) : false;
if (strpos(strtolower($browser), 'msie 6.0') === false)
{
if ($last_load !== false && $last_load >= $stamp)
{
if (substr(strtolower(@php_sapi_name()),0,3) === 'cgi')
{
// in theory, we shouldn't need that due to php doing it. Reality offers a differing opinion, though
header('Status: 304 Not Modified', true, 304);
}
else
{
header('HTTP/1.0 304 Not Modified', true, 304);
}
// seems that we need those too ... browsers
header('Pragma: public');
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
return true;
}
else
{
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $stamp) . ' GMT');
}
}
return false;
}
if (set_modified_headers(@filemtime($this->image_source), $user->browser))
{
return;
}
elseif ($this->image)P. S. Дополнение. Если мы открываем полноразмерную картинку по прямой ссылке со страницы gallery/image_page.php, а потом открываем её же по ссылке с другой страницы (например, gallery/index.php), то картинка загружается повторно. Происходит это из-за того, что прямая ссылка, размещённая на странице gallery/image_page.php, содержит параметр view=no_count, а в остальных случаях не содержит. Браузер принимает картинку с этим параметром и картинку без параметра за две разные картинки и кэширует каждую из них отдельно. (Под прямой ссылкой здесь имеется в виду ссылка вида gallery/image.php?album_id=1&image_id=1, именно она используется скриптами Highslide/Lytebox/Shadowbox.) Параметр этот необязательный, он влияет только на подсчёт просмотров. Убираем его и получаем нормальное кэширование без каких-либо оговорок:
Код: Выделить всё
// Открыть
gallery/image_page.php
// Найти
'UC_IMAGE' => generate_image_link('medium', $gallery_config['link_imagepage'], $image_id, $image_data['image_name'], $album_id, ((substr($image_data['image_filename'], 0 -3) == 'gif') ? true : false), false),
// Заменить на
'UC_IMAGE' => generate_image_link('medium', $gallery_config['link_imagepage'], $image_id, $image_data['image_name'], $album_id, ((substr($image_data['image_filename'], 0 -3) == 'gif') ? true : false)),
