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

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

Логотип производителя

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

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

Сообщений: 115


« : 04.03.2012, 14:59:36 »

Вот сделал для себя код, при котором выводится картинка из папки  /images/brands/Бренд.jpg

Код:
<?php echo'<img src="./images/brands/'.$this->product->mf_name.'.jpg">' ?>

И реализовал у себя:
Код:

<?php  /* производитель - начало */
if(VmConfig::get('show_manufacturers', 1) && !empty($this->product->virtuemart_manufacturer_id)) { ?>
<div class="gkblock-4">
<?php
$link = JRoute::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id='.$this->product->virtuemart_manufacturer_id.'&tmpl=component');
$text = '<img src="./images/brands/'.$this->product->mf_name.'.jpg">';
                   
  if (strtolower(JRequest::getWord('output')) == "pdf"){
echo JHTML::_('link', $link, $text);
} else { ?>

<a class="modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="<?php echo $link ?>"><?php echo $text ?></a>
</div>



<?php } /* производитель */ ?>

Если есть производитель - выводит блок, если нет - нет.


Может кому поможет.. так и не понял как взять картинку производителя из админки
Записан
olejenya
Давно я тут
****

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

Сообщений: 218


« Ответ #1 : 24.04.2012, 23:59:18 »

Интересует такой вопрос.Но не подходит,так как називаю я картинки стандартно,например бренд1,бренд2.А тайтлы у меня например адидас и найк.От и получается неувязочка((Как бы его вывести по id мануфактуры?Тогда бы запары не было с названиями картинок и мануфактур.Господа продвинуты програмеры помогите реализовать человеческий вывод логотипа)))А то сегодня картинка .png , завтра .jpg а послезавтра  вперемешку(((
Записан
DNK
Захожу иногда
**

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

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



« Ответ #2 : 12.06.2012, 10:51:24 »

 ! У меня не получается прибавить имя производителя к картинке в КАТЕГОРИИ, т.е. на выходе <img src="/САЙТ/images/brands/.jpg"> почему-то mf_name. не плюсуется к .jpg. В карточке товара всё нормально! VM2.0.6
Записан
Eholov
Осваиваюсь на форуме
***

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

Сообщений: 146



« Ответ #3 : 17.01.2014, 15:29:21 »

Так у меня не работает.
Работает так
Код:
<?php echo '<img src="./images/stories/virtuemart/manufacturer/'.$product->mf_name.'.png">' ?>
Название производителя и картинки должно быть одинаковое.
Записан
artserge
Осваиваюсь на форуме
***

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

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



« Ответ #4 : 18.02.2014, 03:34:53 »

Чтоб вывести картинку (логотип) производителя настроенный в админке,  например в карточке товара - я сделал следующее :

В administrator\components\com_virtuemart\models\manufacturer.php  добавил метод

Код:
public function getManufacturerSingle( $manufacturer_id ) {

$mainframe = JFactory::getApplication();
$where = array();
$where[] .= ' `m`.`virtuemart_manufacturer_id` = '. $manufacturer_id;

$where[] .= ' `m`.`published` = 1';

$whereString = '';
if (count($where) > 0) $whereString = ' WHERE '.implode(' AND ', $where) ;
$select = ' `m`.*,`#__virtuemart_manufacturers_'.VMLANG.'`.*, mc.`mf_category_name` ';
$joinedTables = 'FROM `#__virtuemart_manufacturers_'.VMLANG.'` JOIN `#__virtuemart_manufacturers` as m USING (`virtuemart_manufacturer_id`) ';
$joinedTables .= ' LEFT JOIN `#__virtuemart_manufacturercategories_'.VMLANG.'` AS mc on  mc.`virtuemart_manufacturercategories_id`= `m`.`virtuemart_manufacturercategories_id` ';
$groupBy=' ';

$select .= ',mmex.virtuemart_media_id ';
$joinedTables .= 'LEFT JOIN `#__virtuemart_manufacturer_medias` as mmex ON `m`.`virtuemart_manufacturer_id`= mmex.`virtuemart_manufacturer_id` ';
$groupBy=' GROUP BY `m`.`virtuemart_manufacturer_id` ';

$whereString = ' ';
if (count($where) > 0) $whereString = ' WHERE '.implode(' AND ', $where).' ' ;

$ordering = $this->_getOrdering();
return $this->_data = $this->exeSortSearchListQuery(0,$select,$joinedTables,$whereString,$groupBy,$ordering );
}

После этого в  шаблоне вывода ссылки на производителя для карточки товара  templates\shoker\html\com_virtuemart\productdetails\default_manufacturer.php вписал:

после
Код:
$text = $this->product->mf_name;

Код:
$mmodel = VmModel::getModel('Manufacturer');
$manufacturer = $mmodel->getManufacturerSingle($this->product->virtuemart_manufacturer_id);
$mmodel->addImages($manufacturer);



 и заменил  
Код:
if (strtolower(JRequest::getWord('output')) == "pdf") {
echo JHTML::_('link', $link, $text);
    } else {
?>
        <span class="bold"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_DETAILS_MANUFACTURER_LBL')?></span><a class="modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="<?php echo $link ?>"><?php echo $text ?></a>
    <?PHP } ?>

на
Код:
if($manufacturer[0]->file_url_thumb != '') {
echo '<a href="'.$link .'"><img src="/'.$manufacturer[0]->file_url_thumb.'" alt="'.$text.'" title="'.$text.'"/></a>';
} else {
/* Avoid JavaScript on PDF Output */
if (strtolower(JRequest::getWord('output')) == "pdf") {
echo JHTML::_('link', $link, $text);
} else {
?>
<span class="bold"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_DETAILS_MANUFACTURER_LBL')?></span><a class="modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="<?php echo $link ?>"><?php echo $text ?></a>
<?PHP }
} ?>


Если есть назначенная картинка - выведет картинку, если нет - выведет строковую ссылку. Да, я у себя отрубаю ссылки эти на производителей, чтоб они вес страницы не "воровали" - так что правильнее выводить просто текстом производителя или просто картинку, без ссылки, ага )
« Последнее редактирование: 18.02.2014, 04:09:17 от artserge » Записан
iliya_art
Осваиваюсь на форуме
***

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

Сообщений: 133



« Ответ #5 : 10.04.2014, 18:39:37 »

artserge, спасибо работает, но при таком варианте при клике по логотипу, открывается в этом же окне, как сделать чтобы открывалось в модальном окне?
Записан
Иоланта
Осваиваюсь на форуме
***

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

Сообщений: 166


« Ответ #6 : 17.05.2015, 18:25:54 »

а как это сделать в VM3?
Записан
Eholov
Осваиваюсь на форуме
***

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

Сообщений: 146



« Ответ #7 : 15.03.2016, 17:28:57 »

Код:
<div class="manufacturer">
<?php
$i = 1;

$mans = array();
// Gebe die Hersteller aus
foreach($this->product->manufacturers as $manufacturers_details) {
//Link to products
$link = JRoute::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $manufacturers_details->virtuemart_manufacturer_id. '&tmpl=component', FALSE);
$name = $manufacturers_details->mf_name;
        $image = $manufacturers_details->images[0];
// Avoid JavaScript on PDF Output
if (!$this->writeJs) {
$mans[] = JHtml::_('link', $link, $name);
} else {
$mans[] = '<a class="manuModal" rel="{handler: \'iframe\', size: {x: 700, y: 850}}" href="'.$link .'">'.$image->displayMediaThumb("",false).'</a>';
}
}
echo implode(', ',$mans);
?>
</div>

для карточки товара VM3
Записан
Страниц: [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