Форум русской поддержки Joomla!® CMS
03.12.2016, 08:41:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как отключить эффект Lightbox на странице List?

 (Прочитано 618 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« : 11.08.2015, 13:44:50 »

AdsManager 2.9.11
Подскажите пожалуйста кто знает, как сделать чтобы в кратком отображения объявлений (List) при клике по превьюшке картинки ничего не происходило?
То есть чтобы не открывалась картинка в Lightbox. У меня в шаблоне за вывод этих картинок с эффектом Lightbox отвечает вот этот код:

/ public_html / templates / шаблон / HTML / com_adsmanager / list/ default.php

Код:
<div class="adsmanager_ads_image">
<?php
if (count($content->images) == 0)
$image_found =0;
else
$image_found =1;
foreach($content->images as $img)
{
$thumbnail = JURI::base()."images/com_adsmanager/ads/".$img->thumbnail;
$image = JURI::base()."images/com_adsmanager/ads/".$img->image;
//check placeholder path is exist or not exist?
$imgsrc =( file_exists($image) ||  @getimagesize($image))?  $thumbnail : "http://placehold.it/636x424";
$imgthumb =( file_exists($thumbnail) ||  @getimagesize($thumbnail))?  $thumbnail : "http://placehold.it/275x173";

                   switch($this->conf->image_display)
{
                       case 'popup':
echo "<a href=\"javascript:popup('$image');\"><img src='".$imgthumb."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
                       case 'lightbox':
                       case 'lytebox':
                       if($img->index ==1){
                               echo "<a href='".$imgsrc."' rel='lytebox[roadtrip".$content->id."]'><img src='".$imgthumb."' alt='".htmlspecialchars($content->ad_headline)."' /><div class='item-opacity'></div></a>";
}
break;
                               case 'highslide':
                              echo "<a id='thumb".$content->id."' class='highslide' onclick='return hs.expand (this)' href='".$imgsrc."'><img src='".$imgthumb."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
                               case 'default':
                               default:
                       echo "<a href='".$imgsrc."' target='_blank'><img src='".$imgthumb."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
break;
}
}
if (($image_found == 0)&&($conf->nb_images >  0))
{
echo '<img src="'.ADSMANAGER_NOPIC_IMG.'" alt="nopic" />';
}
?>

</div>

Чего здесь надо закомментировать чтобы картинки не открывались? Пробовал комментировать разные строки, но или вообще белый экран остается, или картинка начинает открываться в новом окне без эффектов. Спасибо.
« Последнее редактирование: 11.08.2015, 14:20:30 от Polosatyi » Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2271



« Ответ #1 : 11.08.2015, 14:25:06 »

Перед
Код:
switch($this->conf->image_display)
напишите
Код:
$this->conf->image_display='default';
И посмотрите, что выдаст.

Судя по всему, у вас должна быть какая то настройка, отвечающая за вывод картинок. Посмотрите еще раз конфигурацию.
Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #2 : 11.08.2015, 14:42:56 »

Сделал как вы сказали, не помогло. Теперь на странице списка объявлений вместо одной картинки-превьюшки отображаются все картинки-превьюшки из этого объявления с таким вот эффектом - при открытии страницы List сначала видна только первая картинка объявления, а при скроллинге мышкой вниз страницы под первой картинкой возникают превьюшки остальных картинок. И при клике мышкой по этим картинкам каждая из них открывается в новом окне.


Насчет настроек - в разделе Конфигурация компонента AdsManager во вкладке Изображения есть настройка "Тип показа картинки". Для этой настройки доступны 4 варианта - открыть в новом окне, открыть с эффектом Lightbox, открыть с эффектом хайслайд, открыть во всплывающем окне.  Ни один из вариантов мне не подходит - мне нужно чтобы картинки вообще тупо не открывались, отображались только в уменьшенном виде и все.
« Последнее редактирование: 11.08.2015, 14:46:46 от Polosatyi » Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #3 : 11.08.2015, 14:49:44 »

А можно ли вообще установить для AdsManager другой Lightbox? Есть ли другие лайтбоксы, с другими эффектами, с большим количеством настроек?
Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #4 : 11.08.2015, 14:57:25 »

Или может быть это проще - как сделать чтобы при клике по превьюшке открывалась не картинка в Lightbox, а происходил переход на страницу подробного описания объявления? Меня такой вариант тоже бы устроил...
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1409


« Ответ #5 : 11.08.2015, 15:13:04 »

а что будет, если после строки

Код:
switch($this->conf->image_display)

вставить

Код:
print_r($this->conf->image_display)

что отобразится на странице?
Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #6 : 11.08.2015, 15:35:07 »

Вставил, print_r($this->conf->image_display)  очистил кэш - вообще ничего не изменилось с этой строчкой, все то же самое, как и без нее - прьевьюшка картинки, под ней название объявления, цена, текст...
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1409


« Ответ #7 : 11.08.2015, 15:50:23 »

Извините, надо было
Код:
print_r($this->conf->image_display);
с точкой запятой именно в конце вставить перед
Код:
switch($this->conf->image_display)

должно отобразиться что-то типа lightbox, lytebox....
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2271



« Ответ #8 : 11.08.2015, 15:51:58 »

var_dump($this->conf->image_display); лучше  Wink
По коду видно, тут может быть 4 варианта...

Под рукой нет компонента, что бы посмотреть... Найдите код, отвечающий именно за ту единственную картинку, его и правьте.
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1409


« Ответ #9 : 11.08.2015, 15:54:33 »

можно и так. главное понять что там вылезет, и что закомментировать.

мне кажется это для начала

Код:
echo "<a href=\"javascript:popup('$image');\"><img src='".$imgthumb."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
« Последнее редактирование: 11.08.2015, 15:58:33 от capricorn » Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2271



« Ответ #10 : 11.08.2015, 15:55:58 »

можно и так. главное понять что там вылезет, и что закомментировать.
см. CASE в коде
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1409


« Ответ #11 : 11.08.2015, 16:00:47 »

Да я вижу. Вот это что еще такое:
http://placehold.it
Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #12 : 11.08.2015, 16:04:59 »

Блин, вставляю оба ваши кода, и с точкой с запятой, и без, и перед строкой и после, даже одновременно две эти функции вставил - ни фига не меняется, вот так выглядит


И открывается в Lightbox

Да я вижу. Вот это что еще такое:
http://placehold.it

Это если нет картинки, то компонент загружает с того сайта серую превьюшку картинки с написанными размерами изображения и выводит ее вместо пустого места картинки.
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1409


« Ответ #13 : 11.08.2015, 16:10:33 »

Братан, ты уверен что оверрайд здесь?

Цитировать
/ public_html / templates / шаблон / HTML / com_adsmanager / list/ default.php

Вставь строку в этот default.php

Код:
echo ("Всем привет");

Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #14 : 11.08.2015, 16:18:43 »

Блин, echo ("Всем привет"); тоже не выводится. Но где тогда может быть оверрайд? Когда я пробовал комментировать некоторые строки в этом коде, то вид страницы менялся - то вообще белый экран, то превьюшки начинали открываться не в Lightbox, а в отдельных окнах. Где тогда это искать?(
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2271



« Ответ #15 : 11.08.2015, 16:22:53 »

Блин, вставляю оба ваши кода, и с точкой с запятой, и без, и перед строкой и после, даже одновременно две эти функции вставил - ни фига не меняется
Оба этих кода должны были показать содержимое переменной, и только. На сайте ничего не должно было измениться.

Я вам порекомендовал принудительно поставить вывод по дефлоту, не помогло. Можете попробовать удалить весь код между тегами
 
Код:
<? и ?>
и написать что то вроде
Код:
<?php
$thumbnail = JURI::base()."images/com_adsmanager/ads/".$img->thumbnail;
$imgthumb =( file_exists($thumbnail) ||  @getimagesize($thumbnail))?  $thumbnail : "http://placehold.it/275x173";
echo "<img src='".$imgthumb."' alt='".htmlspecialchars($content->ad_headline)."' />";
?>
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1409


« Ответ #16 : 11.08.2015, 16:23:16 »

выложи код этого файла под спойлер.
Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #17 : 11.08.2015, 16:27:45 »

Вот весь код файла:

Показать текстовый блок
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #18 : 11.08.2015, 16:30:29 »

А почему не сделать так:
Код:
case 'lytebox':
                       if($img->index ==1){
                               echo "<img src='".$imgthumb."' alt='".htmlspecialchars($content->ad_headline)."' />";
}
break;
Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #19 : 11.08.2015, 16:32:50 »

Я вам порекомендовал принудительно поставить вывод по дефлоту, не помогло. Можете попробовать удалить весь код между тегами

Вы правы, прошу прощения, сейчас вообще удалил весь div полностью со всем кодом - на странице ничего не изменилось( Значит это не тот код( Тогда непонятно почему менялась страница когда я вставлял комментарии в строках этого кода(  А где тогда можно искать нужный код? Какую роль тогда играет именно это файл в папке шаблона?  Может какой-то другой кусок кода в этом же файле отвечает за картинку?(
Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #20 : 11.08.2015, 16:42:18 »

Еще раз прошу прощения, я не в том файле код менял.

Когда вставляешь print_r($this->conf->image_display);  то пишет lytebox
Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #21 : 11.08.2015, 16:43:53 »

Я просто раскатал бэкап сайта сделав еще один тестовый сайт-копию, и перепутал - код менял в аналогичном файле одного сайта, а смотрел на фронт другого сайта)
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #22 : 11.08.2015, 16:45:24 »

Я просто раскатал бэкап сайта сделав еще один тестовый сайт-копию, и перепутал - код менял в аналогичном файле одного сайта, а смотрел на фронт другого сайта)
Бывает )
И вообще лучше обновите компонент. Эта версия ломаная.
Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #23 : 11.08.2015, 16:49:49 »

А почему не сделать так:
Код:
case 'lytebox':
                       if($img->index ==1){
                               echo "<img src='".$imgthumb."' alt='".htmlspecialchars($content->ad_headline)."' />";
}
break;

Спасибо, именно так помогло) Теперь картинка не открывается)))))
А может подскажете если это не очень трудно - можно ли чтобы по клике на картинку открывалось подробное описание объявления? Так же, как оно открывается при клике по заголовку объявления, который находится прямо под этой картинкой?
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #24 : 11.08.2015, 16:55:02 »

Код:
case 'lytebox':
                      if($img->index ==1){
                              echo "<a href='".$linkTarget."'><img src='".$imgthumb."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
}
break;
Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #25 : 11.08.2015, 17:02:02 »

Не, так появляется ссылка на эту же самую страницу)  Ну, то есть при клике по картинке обновляется страница List, а не происходит переход к детальному описанию объявления.
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #26 : 11.08.2015, 17:07:59 »

<a href='".$linkTarget."'>
Не, так появляется ссылка на эту же самую страницу)  Ну, то есть при клике по картинке обновляется страница List, а не происходит переход к детальному описанию объявления.
не может быть, покажите скрин, может в </a> а - русскую написал

или допишите после:
Код:
$imgthumb =( file_exists($thumbnail) ||  @getimagesize($thumbnail))?  $thumbnail : "http://placehold.it/275x173";

это:

Код:
$linkTarget = TRoute::_( "index.php?option=com_adsmanager&view=details&id=".$content->id."&catid=".$content->catid);
« Последнее редактирование: 11.08.2015, 17:12:10 от max_1985 » Записан
Polosatyi
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 93


« Ответ #27 : 11.08.2015, 17:18:20 »


или допишите после:
это:
Код:
$linkTarget = TRoute::_( "index.php?option=com_adsmanager&view=details&id=".$content->id."&catid=".$content->catid);

Да, вот с этим переходит правильно) Спасибо! )
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet