Новости Joomla

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

vedroid

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Отображение модуля mod_virtuemart_featureprod
« Ответ #30 : 13.06.2010, 23:45:15 »
Хорошо, я понял всю глубину тупизны вопроса...
Шаблон browse_X наполняется непосредственно из shop.browse.php с помощью этого:
Код
$template = read_file( PAGEPATH.'templates/browse/'.basename($templatefile).'.php',
    PAGEPATH."templates/browse/".CATEGORY_TEMPLATE.".php");
Тогда вопрос, как можно прикрутить в mod_virtuemart_featureprod другие поля? вопрос вернулся к своему хозяину ))
*

vedroid

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Отображение модуля mod_virtuemart_featureprod
« Ответ #31 : 14.06.2010, 00:35:56 »
Сдается мне, я сам с собой разговариваю...
Ну, может кому потом и пригодится... В общем, нашел я откуда ноги растут:
mod_virtuemart_featureprod обращается к функции show_snapshot в файле ps_product.php
Там где-то после 2058 строки начинается формирование того, что выведется в модуле в переменную $html
Завтра попробую расковырять, может че получится... Как будут результаты - отпишусь :)

з.ы. Артикул вставляется строкой $html .= $product_sku;
Вставлять туда, где нужно разместить артикул.
« Последнее редактирование: 14.06.2010, 00:48:26 от vedroid »
*

vedroid

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Отображение модуля mod_virtuemart_featureprod
« Ответ #32 : 14.06.2010, 13:00:07 »
Итак, все получилось.
Теперь мой mod_virtuemart_featureprod выводит товар так, как мне нужно.
Това в категории выглядит следующим образом:
Код
<a href="{product_flypage}" title="{product_name}">
<div style="width:230px;padding: 0px;">
  <DIV id="module" style="width:230px;">
  <DIV class="cbl"><DIV class="cbl1"><DIV class="cbl2"><DIV class="cbl3"><DIV class="cbl4"><DIV class="cbl5"><DIV class="cbl6"><DIV class="cbl7"><DIV class="cbl8">
  <DIV class="cbl_c" align="center" valign="middle">
    <img src="{product_thumb_image}"  border="0" width="215px" height="251px" alt="{product_name}" />
  </DIV>
  </DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV>
  </DIV>
    <div style="padding:10px;">
      <div align=center><a style="font-size: 16px; font-weight: bold;" href="{product_flypage}">{product_name}</a></div>
      <a href="{product_flypage}" title="{product_name}"><div style="padding-left:20px;" align=left>{product_sku}    <div style="padding-right:20px;margin-top:-18px" align=right>{product_price}</div></div></a>
    </div>
</div>
</a>

После небольшого пыхтения мозгом, выяснилось, что mod_virtuemart_featureprod выводит то, что генерирует ps_product.php.

Итак, правим ps_product.php (у меня начиная с 2059 строки).

Вместо
Код
$html .= "<span style=\"font-weight:bold;\">".$db->f("product_name")."</span>\n";
$html .= "<br />\n";

if ($db->f("product_parent_id")) {
$url = "?page=shop.product_details&category_id=$cid&flypage=".$this->get_flypage($db->f("product_parent_id"));
$url .= "&product_id=" . $db->f("product_parent_id");
} else {
$url = "?page=shop.product_details&category_id=$cid&flypage=".$this->get_flypage($db->f("product_id"));
$url .= "&product_id=" . $db->f("product_id");
}
$html .= "<a title=\"".$db->f("product_name")."\" href=\"". $sess->url($mm_action_url. "index.php" . $url)."\">";
$html .= $this->image_tag($db->f("product_thumb_image"), "alt=\"".$db->f("product_name")."\"");
$html .= "</a><br />\n";

if (_SHOW_PRICES == '1' && $show_price) {
// Show price, but without "including X% tax"
$html .= $this->show_price( $db->f("product_id"), true );
$html .= $product_sku; //вставляем артикул
}
if (USE_AS_CATALOGUE != 1 && $show_addtocart && !strstr( $html, $VM_LANG->_PHPSHOP_PRODUCT_CALL)) {
$html .= "<br />\n";
$url = "?page=shop.cart&func=cartAdd&product_id=" .  $db->f("product_id");
$html .= "<a href=\"". $sess->url($mm_action_url . "index.php" . $url)."\">".$VM_LANG->_PHPSHOP_CART_ADD_TO."</a><br />\n";
}
заменяем на
Код
if ($db->f("product_parent_id")) {
  $url = "?page=shop.product_details&category_id=$cid&flypage=".$this->get_flypage($db->f("product_parent_id"));
} else {
$url = "?page=shop.product_details&category_id=$cid&flypage=".$this->get_flypage($db->f("product_id"));
$url .= "&product_id=" . $db->f("product_id");

  $html .= "<a href=\"".$url."\" title=\"".$db->f("product_name")."\">
  <div style=\"width:230px;padding: 0px;\">
    <DIV id=\"module\" style=\"width:230px;\">
    <DIV class=\"cbl\"><DIV class=\"cbl1\"><DIV class=\"cbl2\"><DIV class=\"cbl3\"><DIV class=\"cbl4\"><DIV class=\"cbl5\"><DIV class=\"cbl6\"><DIV class=\"cbl7\"><DIV class=\"cbl8\">
    <DIV class=\"cbl_c\" align=\"center\" valign=\"middle\">";
      $html .= $this->image_tag($db->f("product_thumb_image"), "width=\"215px\" height=\"251px\" alt=\"".$db->f("product_name")."\"");
    $html .= "</DIV>
    </DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV>
    </DIV>
      <div style=\"padding:10px;\">";
        $html .= "<div align=center><a href=\"".$url."\" title=\"".$db->f("product_name")."\">".$db->f("product_name")."</a></div>
        <a href=\"".$url."\" title=\"".$db->f("product_name")."\"><div style=\"padding-left:20px;\" align=left>".$product_sku."<div style=\"padding-right:20px;margin-top:-18px\" align=right>";
if (_SHOW_PRICES == '1' && $show_price) {
// Show price, but without "including X% tax"
$html .= $this->show_price( $db->f("product_id"), true );
//$html .= $product_sku; //вставляем артикул
}
if (USE_AS_CATALOGUE != 1 && $show_addtocart && !strstr( $html, $VM_LANG->_PHPSHOP_PRODUCT_CALL)) {
$html .= "<br />\n";
$url = "?page=shop.cart&func=cartAdd&product_id=" .  $db->f("product_id");
//меняем ссылку с корзины на карточку товара
//$html .= "<a href=\"". $sess->url($mm_action_url . "index.php" . $url)."\">".$VM_LANG->_PHPSHOP_CART_ADD_TO."</a><br />\n";
$html .= "<a href=\"".$url."\">".$VM_LANG->_PHPSHOP_CART_ADD_TO."</a><br />\n";
}
        $html .= "</div></div></a>
      </div>
  </div>
  </a>";

Прикручиваем к этому делу CSS
Код
/*товар в категории*/
.cbl {background:url(../img/cbl5.gif) left top repeat-x; width:230px;}
.cbl1 {background:url(../img/cbl5.gif) left top repeat-y; width:230px;}
.cbl0 {background:url(../img/cbl0.gif) left bottom no-repeat; width:230px;}
.cbl2 {background:url(../img/cbl6.gif) right top repeat-y; width:230px;}
.cbl3 {background:url(../img/cbl7.gif) left bottom repeat-x; width:230px;}
.cbl4 {background:url(../img/cbl1.gif) left top no-repeat; width:230px;}
.cbl5 {background:url(../img/cbl2.gif) right top no-repeat; width:230px;}
.cbl6 {background:url(../img/cbl3.gif) right bottom no-repeat; width:230px;}
.cbl7 {background:url(../img/cbl4.gif) left bottom no-repeat; width:230px;}
.cbl8 {padding:1px;padding-right:6px;padding-bottom:10px; width:230px;}
.cbl9 {background:url(../img/cbl9.gif) right bottom no-repeat; width:230px;}
.cbl_c {padding:9px; width:230px;margin-left:-12px}

и вуаля!

Для наглядности прикрепил исправленный файл ps_product.php, CSS с этим кодом и картинки. Думаю, кому интересно - разберутся.



[вложение удалено Администратором]
*

sasha_ua

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: Отображение модуля mod_virtuemart_featureprod
« Ответ #33 : 31.08.2010, 10:59:01 »
Поставил mod_virtuemart_featureprod, чтобы выводить акционные товары, задал позицию mainbody, больше в mainbody ничего не отображается.. Например когда выбираю в меню "Ноутбуки - Acer" ничего не выводится, т.к. установленный кодуль перекрывает все.
Как-то можно сделать чтобы он исчезал?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать отображение атрибутов товара в категории ?

Автор Timer

Ответов: 0
Просмотров: 1612
Последний ответ 21.01.2015, 23:43:33
от Timer
Показ модуля на странице товара только

Автор EmAl

Ответов: 24
Просмотров: 4148
Последний ответ 27.05.2014, 08:15:01
от Mitriy-Bug
Отображение товаров в виде таблицы

Автор Doppelganger

Ответов: 183
Просмотров: 61069
Последний ответ 15.04.2014, 23:27:29
от 4ifir
Отображение мини корзины VirtueMart 1.1.9

Автор sa1981

Ответов: 0
Просмотров: 1911
Последний ответ 26.01.2014, 20:49:37
от sa1981
Вывод модуля везде, кроме определенных категорий

Автор katjuha6

Ответов: 18
Просмотров: 4300
Последний ответ 13.01.2014, 15:24:40
от Fedor Vlasenko