LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
26.05.2012, 12:13:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 2 3 [Все]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Как на изображение товара поставить картинку 'Новинка', 'Хит' или 'Лидер продаж'  (Прочитано 14313 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Stim_ka
Осваиваюсь на форуме
***

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

Пол: Женский
Сообщений: 38



« : 03.08.2010, 12:50:19 »

Собирательный способ на основе тем http://joomlaforum.ru/index.php/topic,7210.0.html и http://joomlaforum.ru/index.php/topic,7210.0.html

Задача: автоматом ставить картинки "Новинка" на картинки товаров, которые были добавлены в течение последних 2 недель;
и поставить картинки "Лидер продаж" тем товарам, которые отмечены как "специальное предложение"

Решение:

1. Открываем administrator\components\com_virtuemart\html\shop.browse.php примерно после этого участка кода
Код:
$product_name = $db_browse->f("product_name");
if( $db_browse->f("product_publish") == "N" ) {
$product_name .= " (".vmHtmlEntityDecode(_CMN_UNPUBLISHED).")";
}
Вставляем этот код :
Код:
// Check for new product wher $db_product query is "SELECT * FROM #__{vm}_product WHERE
// product_id='$product_id' "
if ((time() - $db_browse->f("cdate")) < (14 * 86400)) { // 14 Days *  (number of seconds in  24 hours)
    //$new_img = "New Item"; // code required for new tag - text only version
    $new_img = '<div style="position: absolute; right: 0px; top: 0;"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/new_img.png" border="0" alt="Новинка" title="Новинка" align="right"></div>'; // code required for new tag
} else {
    $new_img = "";
}

if( $db_browse->f("product_special") == "Y" ) {
    $leader_img = '<div style="position: absolute; right: 0px; bottom: 0;"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/leader_img.png" border="0" alt="Лидер продаж" title="Лидер продаж" align="right"></div>'; // code required for new tag
} else {
    $leader_img = "";
}
Затем в этом же файле немного ниже, после секции
      
Код:
$products[$i]['cdate'] = $VM_LANG->convert( vmFormatDate($db_browse->f("cdate"), $VM_LANG->_('DATE_FORMAT_LC') ));
$products[$i]['mdate'] = $VM_LANG->convert( vmFormatDate($db_browse->f("mdate"), $VM_LANG->_('DATE_FORMAT_LC') ));
$products[$i]['product_url'] = $db_browse->f("product_url");    
         
Добавляем вот это
      
Код:
$products[$i]['new_img'] = $new_img ;
$products[$i]['leader_img'] = $leader_img;


2. В administrator\components\com_virtuemart\html\shop_browse_queries.php
вместо
Код:
$fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`,
`#__{vm}_product`.`product_id`,`product_full_image`,`product_thumb_image`,`product_s_desc`,`product_parent_id`,`product_publish`,`product_in_stock`,`product_sku`, `product_url`,
`product_weight`,`product_weight_uom`,`product_length`,`product_width`,`product_height`,`product_lwh_uom`,`product_in_stock`,`product_available_date`,`product_availability`,`#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`";
Вставить вот это:
Код:
$fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`,
`#__{vm}_product`.`product_id`,`product_full_image`,`product_thumb_image`,`product_s_desc`,`product_special`,`product_parent_id`,`product_publish`,`product_in_stock`,`product_sku`, `product_url`,
`product_weight`,`product_weight_uom`,`product_length`,`product_width`,`product_height`,`product_lwh_uom`,`product_in_stock`,`product_available_date`,`product_availability`,`#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`";


3. Идем дальше в /administrator/components/com_virtuemart/html/shop.product_details.php
Открываем ,строка примерно  253 где то  преред таким кодом;
Код:
/* MORE IMAGES ? */
    $more_images = "";
  if( !empty($images->images) ) {
Вставляем это:
Код:
// Check for new product wher $db_product query is "SELECT * FROM #__{vm}_product WHERE
// product_id='$product_id' "
if ((time() - $db_product->f("cdate")) < (14 * 86400)) { // 14 Days *  (number of seconds in  24 hours)
    //$new_img = "New Item"; // code required for new tag - text only version
    $new_img_fly = '<div style="position: absolute; right: 0px; top: 0;"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/new_img_fly.png" border="0" alt="Новинка" title="Новинка" align="right"></div>'; // code required for new tag
} else {
    $new_img_fly = "";
}

if( $db_product->f("product_special") == "Y" ) {
    $leader_img_fly = '<div style="position: absolute; right: 0px; bottom: 0;"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/leader_img_fly.png" border="0" alt="Лидер продаж" title="Лидер продаж" align="right"></div>'; // code required for new tag
} else {
    $leader_img_fly = "";
}

Затем ищем такой участок кода
Код:
$tpl->set( "related_products", $related_products );
$tpl->set( "vendor_link", $vendor_link );
$tpl->set( "product_type", $product_type ); // Changed Product Type
$tpl->set( "product_packaging", $product_packaging ); // Changed Packaging
$tpl->set( "ask_seller_href", $ask_seller_href ); // Product Enquiry!
$tpl->set( "ask_seller_text", $ask_seller_text ); // Product Enquiry!
$tpl->set( "ask_seller", $ask_seller ); // Product Enquiry!
$tpl->set( "recent_products", $recent_products); // Recent products
И добавляем после него
Код:
$tpl->set( "new_img_fly", $new_img_fly); // новинка!
$tpl->set( "leader_img_fly", $leader_img_fly); // Лидер продаж


4. Не забываем про сами картинки, они лежат в:
 images/stories/labels_product
new_img.png – картинка «новинка» для категории
leader_img.png – картинка «Лидер продаж» для категории
new_img_fly.png – картинка «новинка» для карточки товара
leader_img_fly.png - картинка «Лидер продаж» для карточки товара


5. для вывода в категории идем в components\com_virtuemart\themes\default_my\templates\browse\browse_1.php (или тот, который используется у вас)
и после
Код:
<a href="<?php echo $product_full_image ?>" target="_blank" title="<?php echo $product_name ?>">
           <?php echo ps_product::image_tag( $product_thumb_image, 'class="browseProductImage" border="0" title="'.$product_name.'" alt="'.$product_name .'"' )?>
           </a>
Добавляем
Код:
<?php echo $new_img ?>
<?php echo $leader_img ?>


6. для вывода в карточке товара идем в components\com_virtuemart\themes\default_my\templates\product_details\flypage.tpl.php (или тот, который используется у вас)
и после
Код:
<?php echo $product_image ?>
Добавляем
Код:
<?php echo $new_img_fly ?>
<?php echo $leader_img_fly ?>


Вроде все.
« Последнее редактирование: 04.08.2010, 11:12:55 от beagler » Записан
 
Pashtetdiz
Осваиваюсь на форуме
***

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

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


« Ответ #1 : 03.08.2010, 16:47:46 »

Спасибо очень помогло для вывода ярлычков в карточку товара Cheesy. С автоматическим определением Новинка придумано хорошо, но пока оставляю решение в ручном режиме как в этой теме http://joomlaforum.ru/index.php/topic,119541.0.html.
Записан
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #2 : 04.08.2010, 11:23:08 »

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

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

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



« Ответ #3 : 29.10.2010, 19:00:39 »

VirtueMart 1.1.5

не работает.... Shocked
На флайпейдже картинка отображается, но не на картинке товара, а в правом нижнем углу экрана...
А в списке товаров вообще ничего...
Записан
takes
Осваиваюсь на форуме
***

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

Сообщений: 85


« Ответ #4 : 05.12.2010, 23:55:24 »

Цитировать
не работает....
На флайпейдже картинка отображается, но не на картинке товара, а в правом нижнем углу экрана...
А в списке товаров вообще ничего...
абсолютно тоже самое
Записан
takes
Осваиваюсь на форуме
***

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

Сообщений: 85


« Ответ #5 : 06.12.2010, 00:00:02 »

http://svarkavita.com/shop/category/product/40-svarochnie/43-maska-evro.html
Записан
SolopoV
Давно я тут
****

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

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


зеленею...


« Ответ #6 : 22.01.2011, 15:03:03 »

абсолютно тоже самое
такая же байда, но это надо стили править.
Записан
daniley
Осваиваюсь на форуме
***

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

Сообщений: 34



« Ответ #7 : 28.01.2011, 14:47:44 »

а почему эти стили сразу не написать в коде?
Записан
alex-mlt
Осваиваюсь на форуме
***

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

Сообщений: 30


« Ответ #8 : 07.02.2011, 12:37:01 »

Кто-нибудь уже поправил эту очень полезную штуку, чтобы она нормально выводилась на страницах?
Подскажите где править?
Записан
Pashtetdiz
Осваиваюсь на форуме
***

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

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


« Ответ #9 : 07.02.2011, 21:22:48 »

VirtueMart 1.1.5

не работает.... Shocked
На флайпейдже картинка отображается, но не на картинке товара, а в правом нижнем углу экрана...
А в списке товаров вообще ничего...
Прописывайте все в в /administrator/components/com_virtuemart/html/shop.product_details.php

// Check for new product wher $db_product query is "SELECT * FROM #__{vm}_product WHERE
      // product_id='$product_id' "
      if ((time() - $db_product->f("cdate")) < (14 * 86400)) { // 14 Days *  (number of seconds in  24 hours)
           //$new_img = "New Item"; // code required for new tag - text only version
           $new_img_fly = '<div style="position: absolute; right: 0px; top: 0;"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/new_img_fly.png" border="0" alt="Новинка" title="Новинка" align="right"></div>'; // code required for new tag
      } else {
           $new_img_fly = "";
      }

      if( $db_product->f("product_special") == "Y" ) {
           $leader_img_fly = '<div style="position: absolute; right: 0px; bottom: 0;"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/leader_img_fly.png" border="0" alt="Лидер продаж" title="Лидер продаж" align="right"></div>'; // code required for new tag
      } else {
           $leader_img_fly = "";
      }
меняйте position: absolute; right: 0px; bottom: 0px; и внимательно отслеживайте иконку на странице, подбирайте у меня v.m. 1.1.5 и все  тип топ
Записан
alex-mlt
Осваиваюсь на форуме
***

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

Сообщений: 30


« Ответ #10 : 08.02.2011, 12:41:29 »

Я все решил иначе. Способ предложенный Pashtetdiz приводил к тому, что на разных обозревателях и с разным разрешением все "скакало" в разные стороны.
Никакие стили в shop.product_details.php и shop.browse.php я не менял.
Во всех BROWSE и fly (ну или какой Вам нужен) я вывод картинки товара (у меня VM 1.1.6 и выводилась ссылка, а не $product_image) обрамил в <div style="position: relative;> </div>. В том числе и в таблицах.
В него же и вписал вывод <?php echo $new_img_fly ?> и <?php echo $leader_img_fly ?>.
И теперь все Ок.
Записан
dron
Завсегдатай
*****

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

Сообщений: 724


« Ответ #11 : 17.02.2011, 17:51:13 »

блин, ваааще запутался. мконки скачут по экрану. у меня VM 1.1.6. Киньте кто-нить, пожалуйста, файлы которые правили... голова идет кругом...

Огромное спасибо заранее!
Записан
alex-mlt
Осваиваюсь на форуме
***

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

Сообщений: 30


« Ответ #12 : 17.02.2011, 17:56:54 »

dron
Иконки скачут из-за АБСОЛЮТНОГО позиционирования div с картинками. Поэтому, читайте внимательно. что сделал я. У меня тоже 1.1.6.
Записан
adjuster
Завсегдатай
*****

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

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


« Ответ #13 : 18.02.2011, 11:23:13 »

Я все решил иначе. Способ предложенный Pashtetdiz приводил к тому, что на разных обозревателях и с разным разрешением все "скакало" в разные стороны.
Никакие стили в shop.product_details.php и shop.browse.php я не менял.
Во всех BROWSE и fly (ну или какой Вам нужен) я вывод картинки товара (у меня VM 1.1.6 и выводилась ссылка, а не $product_image) обрамил в <div style="position: relative;> </div>. В том числе и в таблицах.
В него же и вписал вывод <?php echo $new_img_fly ?> и <?php echo $leader_img_fly ?>.
И теперь все Ок.
А с чего ты взял, что это его решение? - зачем морочить голову пользователям? = необходимо исправиться!
Записан
alex-mlt
Осваиваюсь на форуме
***

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

Сообщений: 30


« Ответ #14 : 18.02.2011, 11:26:25 »

ОК, какой последний увидел - про тот и указал. Главное, человек его быстро нашел и все понял.
Записан
dron
Завсегдатай
*****

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

Сообщений: 724


« Ответ #15 : 18.02.2011, 12:12:59 »

кто может все это сделать на Joomla 1.5.21 и vm 1.1.6 за деньги? (www.vual.info)

заранее спасибо!
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #16 : 23.02.2011, 20:59:26 »

Не стал долго мучатся и все стилями сделал
Вместо:
<div style="position: absolute; right: 0px; top: 0;"......
написал
<div id="cat_liderprodash"......

И в стиль себе прописал:
#cat_liderprodash{
position:relative;
top:-180px;
}


Теперь все на месте стоит http://www.nadine-kirov.ru/magazin?page=shop.browse&category_id=1
По аналогии делается и для Fly-страницы
Записан
kunev
Осваиваюсь на форуме
***

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

Сообщений: 93


« Ответ #17 : 05.03.2011, 13:56:22 »

Подскажите пожалуйста, как вывести Новинка или Хит продаж не с Browse_1, а с browse_listtable.tpl.php т.к. этот файл является у меня дочерним для категорий, уже голову сломал не пойму куда воткнуть вывод

<?php echo $new_img ?>
<?php echo $leader_img ?>

вот сам кусок кода, куда его приткнуть?

$data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'.$product['product_name'].'</a>';
      $data[$row][] = $product['product_sku'];
      if( _SHOW_PRICES && $auth['show_prices'] ) {
         $data[$row][] = $product['product_price'];
      }
      $data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
                  . ps_product::image_tag( $product['product_thumb_image'] )
                  . '</a>';
      $data[$row][] = $product['product_s_desc'];
      if( $product['has_addtocart'] ) {
         $data[$row][] = $product['form_addtocart'];
      }
      else {
         $data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
                     .   $product['product_details']
                     .   '</a>';
      }
      
      $row++;
      
}



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

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

Сообщений: 80


« Ответ #18 : 08.03.2011, 23:35:07 »

Еще вопросик появился, как формируется значение cdate в таблице jos_vm_product для товара. Потому что если мне необходимо вывести товар как новинку (например картинку я сменил, потому что модель поменялась) мне надо подправить число создания товара, а там цифрами (1299612287, это типа 8 марта 2011 года означает). Кто знает? или ссылку на мануал.
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #19 : 08.03.2011, 23:37:05 »

Подскажите пожалуйста, как вывести Новинка или Хит продаж не с Browse_1, а с browse_listtable.tpl.php т.к. этот файл является у меня дочерним для категорий, уже голову сломал не пойму куда воткнуть вывод

<?php echo $new_img ?>
<?php echo $leader_img ?>

вот сам кусок кода, куда его приткнуть?

$data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'.$product['product_name'].'</a>';
      $data[$row][] = $product['product_sku'];
      if( _SHOW_PRICES && $auth['show_prices'] ) {
         $data[$row][] = $product['product_price'];
      }
      $data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
                  . ps_product::image_tag( $product['product_thumb_image'] )
                  . '</a>';
      $data[$row][] = $product['product_s_desc'];
      if( $product['has_addtocart'] ) {
         $data[$row][] = $product['form_addtocart'];
      }
      else {
         $data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
                     .   $product['product_details']
                     .   '</a>';
      }
      
      $row++;
      
}





Попробуй в той теме и сообщении поискать http://joomlaforum.ru/index.php/topic,119541.msg830862.html#msg830862
Я конечно непонял как ты так список категории выводишь, но вдруг та тема или пост наведут тебя на мысль.
Я бы попытался вот после этого или перед этим вставить
Цитировать
$data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
                  . ps_product::image_tag( $product['product_thumb_image'] )
                  . '</a>';
Записан
daniley
Осваиваюсь на форуме
***

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

Сообщений: 34



« Ответ #20 : 10.03.2011, 21:16:21 »

у меня валюту не выводит..
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #21 : 11.03.2011, 00:14:45 »

Где не выводит, можно и скрин приложить, можно и код fly-страницы приложить, если на ней не выводит или шаблон browse. Мы как должны догадатся?
Могу сказать одно, в коде нигде не трогали переменных, а тем более переменную цены.
Записан
Infosakh
Живу я здесь
******

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

Сообщений: 1331



« Ответ #22 : 11.03.2011, 08:09:24 »

делал через <div style="position:absolute;margin-top:47px;right:0;"> в опере выводится все ок, в мозилле всё съехало. Что за дела, разрешение экрана одно и тоже  Grin
Пытался прописать не через absolute а через relative, вообще все съезжает, может кто нибудь подскажет что делаю не так?  Smiley
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #23 : 11.03.2011, 10:41:37 »

Вы код сами смотрите, если вы говорите справо 0 пикселей отступить, дак вы чего ожидаете? сверху 47 пикселей, вы же ставите абсолютное позиционирование на странице. В ксс не силен я, незнаю почему опера выводит вам правильно. Я в мозиле все делаю и смотрю. когда я вывожу relatшve у меня все нормально выводится. Сделайте стилями и играйтесь с ксс, чем в код ползать.
Код:
#cat_liderprodash{
position:relative;
top:-180px;
}

5. для вывода в категории идем в components\com_virtuemart\themes\default_my\templates\browse\browse_1.php (или тот, который используется у вас)
и после
Код:
<a href="<?php echo $product_full_image ?>" target="_blank" title="<?php echo $product_name ?>">
            <?php echo ps_product::image_tag( $product_thumb_image, 'class="browseProductImage" border="0" title="'.$product_name.'" alt="'.$product_name .'"' )?>
            </a>
Добавляем
Код:
<?php echo $new_img ?>
<?php echo $leader_img ?>


6. для вывода в карточке товара идем в components\com_virtuemart\themes\default_my\templates\product_details\flypage.tpl.php (или тот, который используется у вас)
и после
Код:
<?php echo $product_image ?>
Добавляем
Код:
<?php echo $new_img_fly ?>
<?php echo $leader_img_fly ?>


Вроде все.

Автор выводит переменные после, я вывожу до
Код:
<?php echo $product_image ?>
переменные
Код:
<?php echo $new_img_fly ?>
<?php echo $leader_img_fly ?>
и с предоставленным выше ксс у меня отображается в мозилле и в IE7 все хорошо. Щас в portable Опере 10.00.1699 запустил, тоже на месте ярлычек, во всех трех браузерах выводит где надо. Надо вам с ксс играться и ровнять. Можете мой вариант попробовать. На других пользователях проверял, говорят выводит там же.
Записан
Infosakh
Живу я здесь
******

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

Сообщений: 1331



« Ответ #24 : 11.03.2011, 11:02:59 »

ну справа 0 потому что 0 нужно, у всех ведь в разных местах может выводиться картинка товара в browes  Grin попробую через CSS сделать  Smiley
Записан
Infosakh
Живу я здесь
******

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

Сообщений: 1331



« Ответ #25 : 11.03.2011, 11:59:21 »

Что то не смотрит он в CSS, только реагирует на то где я <div style="position: relative;"><?php echo $form_addtocart ?></div> поставлю, почему?  Smiley
И второй вопрос, с картинками new и lider_prodazh. Автор топа выводит эти переменные исходя из некоторых значений, ну допустим новинка это товар с датой меньше текущей даты на 10 дней и т.д. Тобишь она прописывает эти условия в файлике shop.browse.php (я также делал для себя). Теперь вопрос, если выводить переменные new и lider_prodazh в файликах flypage и browes то каким образом будут эти переменные определяться? Я так понимаю в shop.browse.php должен быть чистым не правленным?  Smiley
Записан
Infosakh
Живу я здесь
******

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

Сообщений: 1331



« Ответ #26 : 11.03.2011, 12:14:08 »

Самые последние новости с полигона тестирования  Grin вообщем всё удалось один вопрос остался открытым, почему то не смотрят переменные в CSS, хоть что там прописывай выводятся переменные в том месте где они размещены в коде. Получается не красиво  Smiley
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #27 : 12.03.2011, 17:09:13 »

Самые последние новости с полигона тестирования  Grin вообщем всё удалось один вопрос остался открытым, почему то не смотрят переменные в CSS, хоть что там прописывай выводятся переменные в том месте где они размещены в коде. Получается не красиво  Smiley
Пример кода сюда, мы откуда знаем прописан у вас ксс стиль или нет. Код fly-страницы и browse и ксс код, чтоб было о чем говорить.
Записан
Infosakh
Живу я здесь
******

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

Сообщений: 1331



« Ответ #28 : 14.03.2011, 05:25:30 »

эээ, так речь идет о CSS vm? или CSS шаблона сайта?  Smiley
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #29 : 14.03.2011, 10:35:44 »

Дак ты где ксс прописывал? или ты вообще не прописывал и спрашиваешь почему не выводится?
У меня прописано в ксс шаблона.
У меня конечно на такое ответ есть.
Ты где-то чего то не дописал, и чтобы разобратся и помочь, я у тебя запросил коды трех файлов и еще приложи участок кода, где ты прописываешь ксс стили:
Или как на примере или как я делал
Код:
// Check for new product wher $db_product query is "SELECT * FROM #__{vm}_product WHERE
// product_id='$product_id' "
if ((time() - $db_product->f("cdate")) < (14 * 86400)) { // 14 Days *  (number of seconds in  24 hours)
     //$new_img = "New Item"; // code required for new tag - text only version
     $new_img_fly = '<div style="position: absolute; right: 0px; top: 0;"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/new_img_fly.png" border="0" alt="Новинка" title="Новинка" align="right"></div>'; // code required for new tag
} else {
     $new_img_fly = "";
}

if( $db_product->f("product_special") == "Y" ) {
     $leader_img_fly = '<div style="position: absolute; right: 0px; bottom: 0;"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/leader_img_fly.png" border="0" alt="Лидер продаж" title="Лидер продаж" align="right"></div>'; // code required for new tag
} else {
     $leader_img_fly = "";
}
Код:
<div id="cat_liderprodash"......

И в стиль себе прописал:
#cat_liderprodash{
position:relative;
top:-180px;
}
Записан
Infosakh
Живу я здесь
******

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

Сообщений: 1331



« Ответ #30 : 14.03.2011, 10:46:20 »

дык
Цитировать
$new_img_fly = '<div style="position: absolute
  Grin
В CSS шаблона сайта я прописал все что нужно, не смотрит он в CSS. Код тот же самый, причем абсолют я убрал, с абсолютом естественно он бы не смотрел никуда  Grin
Записан
iluvvm
Захожу иногда
**

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

Сообщений: 17


« Ответ #31 : 14.03.2011, 19:26:17 »

А как вывести все новинки?
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #32 : 14.03.2011, 19:34:26 »

Он у тебя и не будет в ксс смотреть, у тебя же не прописан стиль.
Вот как стиль прописывается
Код:
$new_img_fly = '<div id="newprodinweek"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/new_img_fly.png" border="0" alt="Новинка" title="Новинка"></div>';
<div id="newprodinweek">
У тебя сам стиль прописан в коде получается. Так же прописано и у автора данной темы. Я же предложил свой вариант, который выше и щас тут продублировал, чтобы не ползать каждый раз в код и не править как надо, а лазить в ксс и там править.
Код моего ксс
Код:
#liderprodash{ // Лидер продаж на странице товара
position:relative;
top:50px;
}

#cat_liderprodash{ // Лидер продаж в списке категории товаров
position:relative;
top:-180px;
}

#newprodinweek{ // Новый товар на странице товара
position:relative;
top:50px;
}

#cat_newprodinweek{ // Новый товар в списке категории товаров
position:relative;
top:-180px;
}
Выводим и на список категории и на саму страницу товара, разные стили ксс, потому что позиционирование разное и отличается.
Записан
kunev
Осваиваюсь на форуме
***

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

Сообщений: 93


« Ответ #33 : 15.03.2011, 18:50:12 »

Попробуй в той теме и сообщении поискать http://joomlaforum.ru/index.php/topic,119541.msg830862.html#msg830862
Я конечно непонял как ты так список категории выводишь, но вдруг та тема или пост наведут тебя на мысль.
Я бы попытался вот после этого или перед этим вставить

да как я уже не пробовал не выходит, просто с дивом, наотрез не работает

<div style='position: absolute; right: 0px; top: 0;'><?php echo $new_img ?></div><div style='position: absolute; right: 0px; bottom: 0;'><?php echo $leader_img ?></div></div>

а с добавлением поля, нету результата

$data[$row][] = "<div style='position: absolute; right: 0px; top: 0;'><?php echo $new_img ?></div><div style='position: absolute; right: 0px; bottom: 0;'><?php echo $leader_img ?></div></div>";

или так

$img_cell .= "<div style='position: absolute; right: 0px; top: 0;'>".$product['new_img']."</div><div style='position: absolute; right: 0px; bottom: 0;'>".$product['leader_img']."</div></div>";
$data[$row][] = $img_cell;

выручайте, как его добавить именно browse_listtable.tpl.php?

« Последнее редактирование: 15.03.2011, 19:01:56 от kunev » Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #34 : 15.03.2011, 20:18:28 »

Код:
$data[$row][] = "<div style='position: absolute; right: 0px; top: 0;'><?php echo $new_img ?></div><div style='position: absolute; right: 0px; bottom: 0;'><?php echo $leader_img ?></div></div>";
В php очень слаб, но раз у тебя уже код php идет, зачем ты еще раз его вызываешь? <?php echo $new_img ?>
Так мы его вызывает на fly-странице потому что там не чисто php код.
Попробуй указать просто переменные.
Для проверки просто куда нить добавь в код переменные, чтобы знать выводит у тебя он их или нет. У меня сомнения что он в этом файле вообще будет выводить переменные.
Записан
kunev
Осваиваюсь на форуме
***

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

Сообщений: 93


« Ответ #35 : 15.03.2011, 22:10:50 »

dark_star, дело в том, что если указывать чисто <?php echo $new_img ?> в файле browse_listtable.tpl.php страница сайта не грузится напрочь вообще
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #36 : 16.03.2011, 00:51:39 »

Я о том же, что так не должно быть, по коду там идет цикл, который извлекает данные с массива, и он просто не понимает какую переменную ты запрашиваешь.
Ты пробовал просто вывести эти переменные например внизу самого кода? чтоб увидеть запрашиваются ли переменные вообще?
Записан
kunev
Осваиваюсь на форуме
***

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

Сообщений: 93


« Ответ #37 : 16.03.2011, 01:05:32 »

dark_star, да в том то и дело что видит  Smiley. Вывести его можно $data[$row][] = $product['new_img']

Вообщем, как переменную $product['new_img'] привязать к
$data[$row][] = '<a href="'.$product['product_full_image'].'" onclick="return hs.expand(this)" target="_blank">'
                  . ps_product::image_tag($product['product_thumb_image'], 'alt="'.$product_name .'"')
                  . '</a>';
чтоб картинка хит или новинка была на одной строке с картинкой товара и желательно с нужной позицией, чтоб можно было её сдвинуть на фон картинки с товаром

« Последнее редактирование: 16.03.2011, 02:05:06 от kunev » Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #38 : 16.03.2011, 11:03:59 »

Раз у тебя выводит он ее, просто поставь ее как $product['new_img'] ..... (твой код с картинкой) и завершается все . '</a>';
Код:
$data[$row][] = $product['new_img'].'<a href="'.$product['product_full_image'].'" onclick="return hs.expand(this)" target="_blank">'
                  . ps_product::image_tag($product['product_thumb_image'], 'alt="'.$product_name .'"')
                  . '</a>';
И затем правишь уже кссом куда тебе он нужен, примерный ксс я выше приводил ответ № 33

Щас попробовал сделать как ты, взял стандартный browse_listtable.tpl.php и в  нем сделал как написал, картинка отобразилась еще правда добавил $product['leader_img'], чтоб уж и новинку и лидера выводил
Код:
$data[$row][] = $product['new_img'].$product['leader_img'].'<a href="'.......
Выводит, и остается только кссом подправить, так как файл я взял стандартный, тоу  меня вот такой ксс получился, чтобы картинка была в левом верхнем углу.
Не забывает, чтобы вывести картинки у вас товар должен быть недавно добавлен (14 дней, так в коде написано, можно и самим изменить на любое количество дней),это для "новинка" и стоять галочка "Специальное приложение", чтобы выводить "Лидер продаж"
Код:
#cat_newprodinweek{
position:relative;
top:-160px;
left: -55px;
}
« Последнее редактирование: 16.03.2011, 11:29:08 от dark_star » Записан
kunev
Осваиваюсь на форуме
***

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

Сообщений: 93


« Ответ #39 : 16.03.2011, 13:29:24 »

гы, делал, тоже токо вроде через запятую Crazy Вечером, как приеду обязательно опробую, я просто в командировке.  От себя +1 за помощь! Спасибо
Записан
kunev
Осваиваюсь на форуме
***

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

Сообщений: 93


« Ответ #40 : 16.03.2011, 21:29:17 »

гудс
« Последнее редактирование: 16.03.2011, 21:38:45 от kunev » Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #41 : 17.03.2011, 10:21:04 »

Ну и хорошо что работает, теперь не только в browse_x, но и в browse_listtable.tpl.php можно выводить. Автор статьи добавь к себе в первый пост, как можно вывести в browse_listtable.tpl.php, вдруг кому еще пригодится.

Теперь с тобой попробуем разобраться
А как вывести все новинки?
Какие новинки, куда вывести? Поподробнее распиши свою проблему.
Записан
iluvvm
Захожу иногда
**

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

Сообщений: 17


« Ответ #42 : 17.03.2011, 12:45:54 »

Сделал флажки "новинка" и "хит" по предложенному в теме коду. Их видно при просмотре каталога товаров.
А как реализовать раздел "новинки" или "хиты продаж", где будут показаны только отмеченные товары?
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #43 : 17.03.2011, 19:52:13 »

Если брать этот код, то "Лидер продаж" это спец предложение, есть модуль который выводит отдельно все спец предложения (mod_virtuemart_featuredprod) или ссылкой
http://site/index.php?option=com_virtuemart&page=shop.browse&featured=Y
а вот с новинками незнаю, в соседней теме выводят ссылкой, пойду искать где это писалось.
Вот ответ
но он относится к тому хаку, поэтому он не будет работать у вас, потому что изменением файлов там ничего не получится, там идет запрос к базе, а в том хаке вносились изменения в базу магазина.
« Последнее редактирование: 17.03.2011, 23:00:24 от dark_star » Записан
iluvvm
Захожу иногда
**

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

Сообщений: 17


« Ответ #44 : 18.03.2011, 10:51:37 »

Спасибо, сделал как в той теме, работает!
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #45 : 18.03.2011, 12:14:12 »

Конечно работает, там надо изменения вносить в базу. Смысл этой темы-хака, в том что не нужно вносить изменения в базу и выводятся картинки по другим параметрам.
Записан
Abitatel
Осваиваюсь на форуме
***

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

Сообщений: 61


« Ответ #46 : 02.04.2011, 06:06:40 »

ооо, целая страница обсуждения про абсолютное позиционирование.

Уважаемые, если вы занимаетесь изготовлением сайтов, наверное надо выделить время на изучение хотя бы азов css

Итак, рассказываю.

Абсолютное позиционирование работает (ставит координаты) относительно того элемента, у которого позиционирование относительное (relative).

То-есть, если мы имеем

div id=shop_browse (position: relative)

   div id=tovar_items (position - НЕ прописано)
       div id=img_label (position: absolute)

   div id=tovar_items (position - НЕ прописано)
       div id=img_label (position: absolute)

   div id=tovar_items (position - НЕ прописано)
       div id=img_label (position: absolute)

   div id=tovar_items (position - НЕ прописано)
       div id=img_label (position: absolute)

где:
div id=shop_browse - контейнер ВНУТРИ которого выводится СПИСОК товаров,
div id=tovar_items   - контейнер товара
div id=img_label      - контейнер "метки" - новинка или лидер продаж

то контейнеры меток (div id=img_label) "спозиционируются" НЕ относительно контейнеров товаров (div id=tovar_items), а относительно контейнера списка товаров (div id=shop_browse)

Таким образом, если мы хотим позиционировать контейнеры меток относительно контейнеров ТОВАРОВ, нам нужно в стилях контейнеров товаров (div id=tovar_items) прописать position: relative;


ps. ну и на мой взгляд, для вывода картинки-метки, не нужно ее оборачивать в дополнительный див. Можно прописать стили к самой картинке.
например - img id=new_label или img id=leader_label

то-есть вот это можно смело модифицировать в такой вид

Код:
// Check for new product wher $db_product query is "SELECT * FROM #__{vm}_product WHERE
// product_id='$product_id' "
if ((time() - $db_product->f("cdate")) < (14 * 86400)) { // 14 Days *  (number of seconds in  24 hours)
    //$new_img = "New Item"; // code required for new tag - text only version
    $new_img_fly = '<img id="new_label" src="'. $mosConfig_live_site .'/images/stories/labels_product/new_img_fly.png" border="0" alt="Новинка" title="Новинка" align="right">'; // code required for new tag
} else {
    $new_img_fly = "";
}

if( $db_product->f("product_special") == "Y" ) {
    $leader_img_fly = '<img id="leader_label" src="'. $mosConfig_live_site .'/images/stories/labels_product/leader_img_fly.png" border="0" alt="Лидер продаж" title="Лидер продаж" align="right">'; // code required for new tag
} else {
    $leader_img_fly = "";
}

и, соответственно, прописать стили

Код:
img#new_label,
img#leader_label {
position: absolute;
top:        10px; /*или bottom:   нужное значение;*/
left:        10px; /*или right:   нужное значение;*/
}

хак полезный, автору +
Записан
Abitatel
Осваиваюсь на форуме
***

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

Сообщений: 61


« Ответ #47 : 02.04.2011, 06:24:03 »

кстати можно и еще по другому переделать вывод картинок-меток

например так

Код:
// Check for new product wher $db_product query is "SELECT * FROM #__{vm}_product WHERE
// product_id='$product_id' "
if ((time() - $db_product->f("cdate")) < (14 * 86400)) { // 14 Days *  (number of seconds in  24 hours)
     //$new_img = "New Item"; // code required for new tag - text only version
     $new_img_fly = '<div id="new_label"></div>'; // code required for new tag
} else {
     $new_img_fly = "";
}

if( $db_product->f("product_special") == "Y" ) {
     $leader_img_fly = '<div id="leader_label"></div>'; // code required for new tag
} else {
     $leader_img_fly = "";
}

и прописать для этих дивов стили с фонами с нужными картинками.


Цитировать
#new_label,
#leader_label {
position: absolute;
top: 10px;
right: 10px;
background: transparent no-repeat top left;
display: block;
width: 100px; /* под размеры картинки */
height: 100px; /* под размеры картинки */
}

#new_label {
background-image: url(../images/new_label.png)
}

#leader_label {
background-image: url(../images/leader_label.png)
}

ну и, соответственно, положить эти две картинки - new_label.png и leader_label.png в в нужную папку
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #48 : 02.04.2011, 12:39:58 »

Abitatel: Такой вариант был предложен еще в 6 ответе данной темы, чтобы не прописывать все в коде, а вывести в ксс стиль или 33 ответ. Просто автор данной темы не посчитал нужным (или уже не посещает данную темы) добавить этот вариант в первый пост.
Вот только у вас там неувязочка, вы говорите надо везде писать position: relative;, что конечно же правильно, но сами везде и в первом и во втором посте пишите position: absolute;, как пример. Если вы уж объясняете нам как надо правильно писать ксс, то вы не делайте таких ошибок.

По второму посту.
Прописывание картинки не в коде, а в ксс очень хороший метод, ну если конечно вам не нужны alt и title (а они и не нужны, так как это не оригинальная картинка, а дополнительная). Но у вас опять же указан путь к картинке как url(../images/new_label.png). Здесь надо дать пояснения, что картинки надо положить в свой шаблон сайта (site.ru/templates/имя_шаблона) и там создать папку images (если ее там нету), в которую вы и положите картинки. Когда я прочитал я подумал сразу про папку site.ru/images (или я один такой который думает про другие папки).
Своим постом вы некоторых точно запутали и они долго будут думать почему у них не выводится все в нужном месте с position: absolute;, подредактируйте его пжлста, не все ведь знают ксс.
« Последнее редактирование: 02.04.2011, 12:44:55 от dark_star » Записан
Infosakh
Живу я здесь
******

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

Сообщений: 1331



« Ответ #49 : 02.04.2011, 12:55:07 »

Abitatel: Такой вариант был предложен еще в 6 ответе данной темы, чтобы не прописывать все в коде, а вывести в ксс стиль или 33 ответ. Просто автор данной темы не посчитал нужным (или уже не посещает данную темы) добавить этот вариант в первый пост.
Вот только у вас там неувязочка, вы говорите надо везде писать position: relative;, что конечно же правильно, но сами везде и в первом и во втором посте пишите position: absolute;, как пример. Если вы уж объясняете нам как надо правильно писать ксс, то вы не делайте таких ошибок
высказывание по поводу ошибок меня улыбнуло http://joomlaforum.ru/index.php/topic,124217.msg845022.html#msg845022
Записан
Abitatel
Осваиваюсь на форуме
***

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

Сообщений: 61


« Ответ #50 : 02.04.2011, 13:43:19 »

Abitatel: Такой вариант был предложен еще в 6 ответе данной темы, чтобы не прописывать все в коде, а вывести в ксс стиль или 33 ответ. Просто автор данной темы не посчитал нужным (или уже не посещает данную темы) добавить этот вариант в первый пост.
Вот только у вас там неувязочка, вы говорите надо везде писать position: relative;, что конечно же правильно, но сами везде и в первом и во втором посте пишите position: absolute;, как пример. Если вы уж объясняете нам как надо правильно писать ксс, то вы не делайте таких ошибок.



ООО ! : )) Ну давайте разберемся с "ошибками"

Сначала про absolute. Перечитайте мой пост и подумайте о ЧЕМ я говорил. Я говорил о том что необходимо position: relative прописать для каждого блока ТОВАРА, и тогда блок "метки" с АБСОЛЮТНЫМ позиционированием, будет ПРАВИЛЬНО позиционироваться именно относительно этого внешнего - следующего к нему блока ТОВАРА. Сейчас нарисую и приложу.


примем что:
синий блок -     div id=shop_browse
красный блок - div id=tovar_items   
зеленый блок - div id=new_label (или id=leader_label)

Итак смотрите о чем я писал? "Прыгают" метки у тех, у кого position: relative НЕ прописано для "красных" блоков. И именно для НИХ надо прописать position: relative и только ПОСЛЕ ЭТОГО прописывать абсолютное позиционирование для меток (зеленые блоки), и позиционировать их как угодно.



По второму посту.
Прописывание картинки не в коде, а в ксс очень хороший метод, ну если конечно вам не нужны alt и title (а они и не нужны, так как это не оригинальная картинка, а дополнительная). Но у вас опять же указан путь к картинке как url(../images/new_label.png). Здесь надо дать пояснения, что картинки надо положить в свой шаблон сайта (site.ru/templates/имя_шаблона) и там создать папку images (если ее там нету), в которую вы и положите картинки. Когда я прочитал я подумал сразу про папку site.ru/images (или я один такой который думает про другие папки).
Своим постом вы некоторых точно запутали и они долго будут думать почему у них не выводится все в нужном месте с position: absolute;, подредактируйте его пжлста, не все ведь знают ксс.


По поводу расположения картинок. Специально НЕ написал. Потому как располагать их можно как в шаблоне сайта так и в шаблоне виртмарта. Все зависит от того в каком файле CSS вы будете прописывать стили.
Нужно потрудиться и выучить это а не просто копипастить "готовые решения".
Запутал я кого-то или нет. Смешно. Если кто-то запутался - пусть учит HTML и CSS. Если вы беретесь править CSS САМИ, то уж потрудитесь понимать синтаксис и логику написания стилей. А если не умеете, нечего пенять на "запутали" - заплатите денег тому кто умеет.

И да - картинки положить можно вообще куда угодно. И в стилях потом прописать любой путь - независимо от того где лежит файл стилей, а где сами картинки. И вы прикажете мне прописывать разные варианты нахождения стилей и картинок? : ) Нет уж, увольте. Включайте мозги, учитесь. : )

Позабавили вы меня с "ошибками"  Grin

зы. писать стили внутри контейнеров - дурной тон. выносите все в CSS
Записан
Abitatel
Осваиваюсь на форуме
***

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

Сообщений: 61


« Ответ #51 : 02.04.2011, 14:22:23 »

Ну и в продолжение, для уважаемого dark_star

ссылка номер раз
http://zuitu.ru/prymer_1.html

правильно прописанные стили
для контейнеров товаров - позиционирование относительное
для меток - позиционирование абсолютное


ссылка номер два
http://zuitu.ru/prymer_2.html

тот же код HTML но стили изменены минимально
относительное позиционирование у контейнеров ТОВАРОВ УБРАНО, и прописано к внешнему "синему" контейнеру (в моих предыдущих постах это div id=shop_browse)

ps. если относительное позиционирование убрать еще и у div id=shop_browse, то метки разнесутся вообще по краям окошка браузера.
Записан
Abitatel
Осваиваюсь на форуме
***

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

Сообщений: 61


« Ответ #52 : 03.04.2011, 05:09:50 »

В дополнение к хаку можно сделать вывод меток и в снэпшотах товара (в модулях, в сопутствующих).
Внимание! Делал вывод ТОЛЬКО метки "спецпредложение".
Вывод "новинки" делать там же по аналогии, ничего сложного.

Для этого в /administrator/components/com_virtuemart/classes/ps_product.php

ищем код
Код:
function product_snapshot( $product_sku, $show_price=true, $show_addtocart=true, $show_product_name = true ) {

чуть ниже ищем код
Код:
$q = "SELECT product_id, product_name, product_parent_id, product_thumb_image FROM #__{vm}_product WHERE product_sku='$product_sku'";

меняем его на
Код:
$q = "SELECT product_id, product_name, product_parent_id, product_special, product_thumb_image FROM #__{vm}_product WHERE product_sku='$product_sku'";

далее ищем код
Код:
if ($db->next_record()) {

и сразу после него вписываем
Код:
if( $db->f("product_special") == "Y" ) {
     $leader_img = '<div style="position: absolute; right: 0px; bottom: 0;"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/leader_img.png" border="0" alt="Лидер продаж" title="Лидер продаж" align="right"></div>'; // code required for new tag
} else {
     $leader_img = "";
}

дальше ищем код
Код:
$tpl->set( 'show_product_name', $show_product_name );

после него ставим
Код:
$tpl->set( "leader_img", $leader_img);

теперь в шаблоне снэпшота components\com_virtuemart\themes\default_my\templates\common\productsnapshot.tpl.php

остается только прописать в нужном месте
Код:
<?php echo $leader_img ?>

Итог - в сопутствующих товарах, и в модулях типа feathureprod, randomprod тоже выводятся метки "спецпредложение".


ps. Привел код меток как в оригинале хака для соблюдения "наследственности", но себе сделал "пустыми дивами с фонами".
Записан
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #53 : 03.04.2011, 20:14:43 »

+1
Записан
Infosakh
Живу я здесь
******

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

Сообщений: 1331



« Ответ #54 : 02.05.2011, 07:13:32 »

Abitatel не работает хак с snapshot не выводится картинка  Smiley
Записан
Abitatel
Осваиваюсь на форуме
***

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

Сообщений: 61


« Ответ #55 : 02.05.2011, 18:19:57 »

Я изложил суть хака. Вы видимо что-то "недохакали". У меня все работает : )
Записан
Infosakh
Живу я здесь
******

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

Сообщений: 1331



« Ответ #56 : 03.05.2011, 02:05:41 »

Ну я всё делал так сказать по инструкции, ничего сложного нет, метки не выводятся именно в сопутствующих, рекомендуемых твоарах (через snapshots).
Например вот здесь
Цитировать
$tpl->set( "leader_img", $leader_img);
должно быть " или всё таки '
Что то ещё походу надо хакать, не робит  Smiley
Записан
chakivetal
Осваиваюсь на форуме
***

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

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


Самомученик


« Ответ #57 : 12.07.2011, 17:41:39 »

Цитировать
ссылка номер раз
http://zuitu.ru/prymer_1.html
 - выдает ошибку 404!
Цитировать
ссылка номер два
http://zuitu.ru/prymer_2.html
 -  та же байда))) Где почитать то?
На счет незнающих - как раз благодаря знающим и учимся... Спасибо Вам!
Хак просто супер! Ломаю голову и никак...
J1.5.22, VM 1.1.8, rv.piratelab.info
Какие файлы выложить?


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

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

Сообщений: 61


« Ответ #58 : 12.07.2011, 18:12:55 »

  - выдает ошибку 404!  -  та же байда))) Где почитать то?


восстановил
удалял за ненадобностью
Записан
chakivetal
Осваиваюсь на форуме
***

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

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


Самомученик


« Ответ #59 : 12.07.2011, 23:55:30 »

Цитировать
восстановил...за ненадобностью
))) Спасибо! Начитался...)) Не понимаю откуда берется id именно блока с фоткой, ни id ни class

фото
Исходник
Записан
Abitatel
Осваиваюсь на форуме
***

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

Сообщений: 61


« Ответ #60 : 13.07.2011, 00:08:55 »

))) Спасибо! Начитался...)) Не понимаю откуда берется id именно блока с фоткой, ни id ни class

фото
Исходник

О каком id и class речь? В вашем скрине и исходнике не вижу ни id ни class на блоке с фото.
Записан
chakivetal
Осваиваюсь на форуме
***

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

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


Самомученик


« Ответ #61 : 13.07.2011, 01:22:40 »

Цитировать
О каком id ..?
Как я понял в CSS надо прописать
зеленый блок -
#new_label,
#leader_label {
position: absolute;....

красный блок -
#? (Об этом id){
position: relative;....

И вопрос - что делать с position в синем? Убрать совсем, оставить relative или изменить на absolute?
Записан
Abitatel
Осваиваюсь на форуме
***

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

Сообщений: 61


« Ответ #62 : 13.07.2011, 01:40:38 »

Ну так прописывайте в нужные блоки в шаблонах нужные id или class, а потом прописывайте для них стили. В чем проблема? Position для синего блока неважен. Важно соблюсти "правило" - (у внешнего relative у внутреннего - absolute) - непосредственно для блока картинки (absolute) и того блока, внутри которого помещена картинка (relative).

ваш шаблон еще нужно править чтобы эти правила и этот хак применить
Записан
GTpro
Осваиваюсь на форуме
***

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

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


« Ответ #63 : 08.09.2011, 15:10:12 »

Тоже через снэпшот настроил CSS но проблема, в модулях выставил отображение иконки ровно, а в рекомендуемых товарах иконка плывет. Не могу понять почему.
Записан
Sergey82
Захожу иногда
**

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

Сообщений: 6


« Ответ #64 : 28.10.2011, 16:10:05 »

Все привет!
Такая вот ситуация блин. Что-то не могу найти этот файлик shop_browse_queries.php у себя. где его искать. Все просмотрел. VirtueMart 1.1.5
Может кто может выложить его.
Записан
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #65 : 28.10.2011, 16:24:19 »

\administrator\components\com_virtuemart\html\shop_browse_queries.php
Записан
Sergey82
Захожу иногда
**

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

Сообщений: 6


« Ответ #66 : 28.10.2011, 16:46:00 »

нет такого файла Sad
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #67 : 28.10.2011, 18:03:28 »

Есть он. Находится между файлами (если по имени сортировать) shop.waiting_thanks.php и shopper.shopper_address_form.php
Записан
Sergey82
Захожу иногда
**

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

Сообщений: 6


« Ответ #68 : 28.10.2011, 18:14:16 »

бли затасовали фиг знает куда. Спасибо))
Записан
SatMan
Осваиваюсь на форуме
***

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

Сообщений: 34


« Ответ #69 : 05.11.2011, 18:28:14 »

Все делаю по инструкции. Картинки появляются, но знак спецпредложения не накладывается на картинку товара, а располагается рядом. Sad
Записан
dark_star
Осваиваюсь на форуме
***

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

Сообщений: 80


« Ответ #70 : 05.11.2011, 19:53:16 »

кссом правьте, влево, вправо. Главное что он там есть, остальное доделываем кссом. Не знаете ксс, изучайте.
Записан
SatMan
Осваиваюсь на форуме
***

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

Сообщений: 34


« Ответ #71 : 05.11.2011, 20:05:51 »

кссом правьте, влево, вправо. Главное что он там есть, остальное доделываем кссом. Не знаете ксс, изучайте.

Вы знаете, ваш метод у меня вообще не пошел. Sad  VirtueMart 1.1.9 и тема s5_shopper_frenzy. А вот идея товарища alex-mlt ближе к идеалу оказалась....

Цитировать
Я все решил иначе. Способ предложенный Pashtetdiz приводил к тому, что на разных обозревателях и с разным разрешением все "скакало" в разные стороны.
Никакие стили в shop.product_details.php и shop.browse.php я не менял.
Во всех BROWSE и fly (ну или какой Вам нужен) я вывод картинки товара (у меня VM 1.1.6 и выводилась ссылка, а не $product_image) обрамил в <div style="position: relative;> </div>. В том числе и в таблицах.
В него же и вписал вывод <?php echo $new_img_fly ?> и <?php echo $leader_img_fly ?>.
И теперь все Ок.

Sad

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

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

Сообщений: 80


« Ответ #72 : 05.11.2011, 23:35:32 »

Каждый сам старается для себя.
Записан
SatMan
Осваиваюсь на форуме
***

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

Сообщений: 34


« Ответ #73 : 06.11.2011, 00:15:53 »

Каждый сам старается для себя.

Абсолютно верно. Azn Все получилось. Всем спасибо. Две особенности - не ошибайтесь в коде и второе - строго следуйте инструкциям.
Записан
malish84
Гость
« Ответ #74 : 29.11.2011, 16:49:35 »

Вот тут тоже расписано как реализовать данную вещь в Joomla в виртмарте.
Записан
ivanesx2008
Осваиваюсь на форуме
***

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

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



« Ответ #75 : 11.12.2011, 18:21:31 »

В дополнение к хаку можно сделать вывод меток и в снэпшотах товара (в модулях, в сопутствующих).
Внимание! Делал вывод ТОЛЬКО метки "спецпредложение".
Вывод "новинки" делать там же по аналогии, ничего сложного.

Для этого в /administrator/components/com_virtuemart/classes/ps_product.php

ищем код
Код:
function product_snapshot( $product_sku, $show_price=true, $show_addtocart=true, $show_product_name = true ) {

чуть ниже ищем код
Код:
$q = "SELECT product_id, product_name, product_parent_id, product_thumb_image FROM #__{vm}_product WHERE product_sku='$product_sku'";

меняем его на
Код:
$q = "SELECT product_id, product_name, product_parent_id, product_special, product_thumb_image FROM #__{vm}_product WHERE product_sku='$product_sku'";

далее ищем код
Код:
if ($db->next_record()) {

и сразу после него вписываем
Код:
if( $db->f("product_special") == "Y" ) {
     $leader_img = '<div style="position: absolute; right: 0px; bottom: 0;"><img src="'. $mosConfig_live_site .'/images/stories/labels_product/leader_img.png" border="0" alt="Лидер продаж" title="Лидер продаж" align="right"></div>'; // code required for new tag
} else {
     $leader_img = "";
}

дальше ищем код
Код:
$tpl->set( 'show_product_name', $show_product_name );

после него ставим
Код:
$tpl->set( "leader_img", $leader_img);

теперь в шаблоне снэпшота components\com_virtuemart\themes\default_my\templates\common\productsnapshot.tpl.php

остается только прописать в нужном месте
Код:
<?php echo $leader_img ?>

Итог - в сопутствующих товарах, и в модулях типа feathureprod, randomprod тоже выводятся метки "спецпредложение".


ps. Привел код меток как в оригинале хака для соблюдения "наследственности", но себе сделал "пустыми дивами с фонами".
Уже 100 раз перепробовал, но в модулях VirtueMart иконка не отображается!
Сам хак работает нормально, и в скиске товаров категории и в карточке товара.

В чем может быть трабл?
Virtuemart 1.9.9
Joomla 1.5.24
Записан
Страниц: 1 2 3 [Все]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | 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