Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 2633 Просмотров
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
Все доброго времени суток!
Ребят, возникла надобность подправить функцию в файле components\com_virtuemart\themes\default\theme.php

Код
function vmlistAdditionalImages( $product_id, $images, $title='', $limit=1000 ) {
global $sess;
$html = '';
$i = 0;
foreach( $images as $image ) {
$thumbtag = ps_product::image_tag( $image->file_name, 'class="browseProductImage"', 1, 'product', $image->file_image_thumb_width, $image->file_image_thumb_height );
$fulladdress = $sess->url( 'index2.php?page=shop.view_images&image_id='.$image->file_id.'&product_id='.$product_id.'&pop=1' );

if( $this->get_cfg('useLightBoxImages', 1 )) {
$html .= vmCommonHTML::getLightboxImageLink( $image->file_url, $thumbtag, $title ? $title : $image->file_title, 'product'.$product_id );
}
else {
$html .= vmPopupLink( $fulladdress, $thumbtag, 640, 550 );
}
$html .= ' ';
if( ++$i > $limit ) break;
}
return $html;
}

дополнительное изображение выводится в виде
a img.browseProductImage.
как можно сделать так, чтобы было
a p img.browseProductImage.
вместо "p" можно любой другой тег. я перепробовала разные способы, но с php пока не дружу и даже образно не представляю где это прописывается. буду очень признательна за любую подсказку.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А можно узнать, для чего вам нужен тэг p (кстати, неправильно размещать его внутри a)?
Насколько я знаю, дополнительные thumb_images ссылаются только на дополнительные images. Вам нужно, чтобы они ссылались на что-то другое?
Если хотите, поройтесь в htmlTools.class.php. Там находятся все функции getLightboxImageLink, hyperLink, vmPopupLink..., которые выводятся в переменной $html.
Но я не понимаю, зачем все это.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
Код
А можно узнать, для чего вам нужен тэг p (кстати, неправильно размещать его внутри a)?
спасибо, я знаю =) там совершенно фиолетово какой тег. песня в том, что сейчас изображения "img" приклеивается к верхней части "a", (кстати, вот яркий пример http://test.katalliana.org/ru/internet-magazin/category/product/44-nabori-dlya-grilya/83-nabor-dlya-grilya-1095.html) потому что у "a" float:left. для того, чтобы изображения выравнивались по центру блока, нужно задавать "а" - display:table-cell. я думаю, что не надо объяснять, что эти 2 свойства прицепить к одному блоку в данной ситуации нереально. именно для этого и нужен дополнительный тег (грубо говоря "p"), чтобы было так: a p img
a {
display:block;
float:left;}
p {
display:table-cell;
vertical-align:middle;}

надеюсь понятно объяснила. формирование вывода дополнительных изображений проходит в этой функции. но я не знаю, КАК туда это всунуть.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Делайте так:
В /templates/time-eco/css.css добавить
Код
div.image-sec a{
display:inline-block;
vertical-align:middle;
}
или
Код
div.image-sec a img{
display:inline-block;
vertical-align:middle;
}
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
а это ничего, что "inline-block" с "vertical-align" не применяется?  ;)
не работает. уважаемый Роберт, варианты с CSS я уже перебрала. самое простое решение для меня на данном этапе - это всунуть что-нибудь между а и img. я буду очень благодарна, если Вы подскажете как это сделать.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Странно, что не работает.
Если хотите все-таки всунуть что-то между <a> и <img>, то измените следующую строку функции hyperLink в htmlTools.class.php
Код
return '<a href="'.vmAmpReplace($link).'"'.$target.$title.$attributes.'>'.$text.'</a>';
И данном случае $text - это <img>.
Но лучше этого не делать, не могу представить, какие косяки могут быть у вас.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
Огромное спасибо!
строку
Код
return '<a href="'.vmAmpReplace($link).'"'.$target.$title.$attributes.'>'.$text.'</a>';
изменила на
Код
return '<a href="'.vmAmpReplace($link).'"'.$target.$title.$attributes.'><i>'.$text.'</i></a>';
в CSS добавила свойства
.image-sec a i {
display: table-cell;
width: 80px;
height: 80px;
vertical-align: middle;}
и все работает. еще раз спасибо! если расскажете как поставить "+" - обязательно отмечусь =)
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Рад, что смог чем-то помочь.
Да, правильно: display: table-cell;, а я писал inline-block.
И помните, что все ссылки (не только для доп.изображений), генерируемые hyperLink, теперь будут содержать тэг i.
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Настройки отображения товара

Автор wectra

Ответов: 2
Просмотров: 4376
Последний ответ 12.07.2017, 22:12:27
от wectra
Несколько изображений для товара/ Лупа для изображения/ Magic Zoom

Автор antoha333

Ответов: 41
Просмотров: 26884
Последний ответ 13.11.2015, 16:08:16
от sonics
Как реализовать на VirtueMart такую карточку товара?

Автор AdmbVlad

Ответов: 0
Просмотров: 1833
Последний ответ 14.10.2015, 17:01:55
от AdmbVlad
Вставить картинку в карточку товара через URL и создать его миниатюру

Автор sashgera

Ответов: 8
Просмотров: 3162
Последний ответ 14.02.2015, 21:12:46
от sashgera
Как изменить сортировку товара ?

Автор Timer

Ответов: 0
Просмотров: 1729
Последний ответ 21.01.2015, 23:49:28
от Timer