Новости Joomla

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

Сливыч

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Столкнулся с необходимостью вывода определённого параметра типа товаров.
Как известно за вывод информации о товаре отвечает flypage.
Сам флаер в принципе устраивал, кроме того что параметры типа товара выводятся внизу под картинкой, я решил их поднять наверх для чего переместил
<?php echo $product_type ?> в нужное  мне место получилось вот так:


Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>



<?php echo $buttons_header // The PDF, Email and Print buttons ?>



<?php

if( $this->get_cfg( 'showPathway' )) {

echo "<div class=\"pathway\">$navigation_pathway</div>";

}

if( $this->get_cfg( 'product_navigation', 1 )) {

if( !empty( $previous_product )) {

echo '<a class="previous_page" href="'.$previous_product_url.'">'.shopMakeHtmlSafe($previous_product['product_name']).'</a>';

}

if( !empty( $next_product )) {

echo '<a class="next_page" href="'.$next_product_url.'">'.shopMakeHtmlSafe($next_product['product_name']).'</a>';

}

}

?>
<br style="clear:both;" />

<table border="0" style="width: 100%;">

  <tbody>

<tr>

<?php  if( $this->get_cfg('showManufacturerLink') ) { $rowspan = 5; } else { $rowspan = 4; } ?>

 <td width="33%" rowspan="<?php echo $rowspan; ?>" valign="top"><br/>

  <?php echo $product_image ?><br/><br/><?php echo  $more_images ?></td>

 <td rowspan="1" colspan="2">

 <h1><?php echo $product_name ?> <?php echo $edit_link ?></h1>

 </td>

</tr>

<?php if( $this->get_cfg('showManufacturerLink')) { ?>

<tr>

 <td rowspan="1" colspan="2"><?php echo $manufacturer_link ?><br /></td>

</tr>

<?php } ?>

<tr>

      <td width="100%" valign="top" align="left">

       <?php echo $product_price_lbl ?>

       <?php echo $product_price ?>
<?php echo $addtocart ?>
<?php echo $product_type ?><br /></td>

      <td valign="top"><?php echo $product_packaging ?><br /></td>

</tr>

<tr>


Далее за вывод таблицы параметров товара у нас отвечает файлик ps_product_type.php, вызываемый <?php echo $product_type ?>.
Здесь я убрал дополнительную инфу о товаре, закомментировав одну строчку в функции вывода.
Получил вот что:

Код
/**
* Returns HTML code for show parameters
* @author Zdenek Dvorak
*
* @param int $product_id
* @return string
*/
function list_product_type($product_id) {
global $VM_LANG;

if (!$this->product_in_product_type($product_id)) {
return "";
}

$dbag = new ps_DB;
$dba = new ps_DB;
$dbp = new ps_DB;
$html = "";

$q  = "SELECT * FROM #__{vm}_product_product_type_xref ";
$q .= "LEFT JOIN #__{vm}_product_type USING (product_type_id) ";
$q .= "WHERE product_id='$product_id' AND product_type_publish='Y' ";
$q .= "ORDER BY product_type_list_order";
$dbag->query( $q );
$q  = "SELECT * FROM #__{vm}_product_type_parameter ";
$q .= "WHERE product_type_id=";
while ($dbag->next_record()) { // Show all Product Type
if ($dbag->f("product_type_flypage")) {
$flypage_file = PAGEPATH."templates/".$dbag->f("product_type_flypage").".php";
if (file_exists($flypage_file)) {
$html .= include($flypage_file);
continue;
}
}
$html .= "<br />\n<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n";
//$html .= "<tr><td colspan=\"2\"><strong>".$VM_LANG->_('PHPSHOP_PRODUCT_TYPE_PARAMETERS_IN_CATEGORY'). ": ".$dbag->f("product_type_name")."</strong></td></tr>\n";
// SELECT parameter value of product
$q2  = "SELECT * FROM #__{vm}_product_type_".$dbag->f("product_type_id");
$q2 .= " WHERE product_id='$product_id'";
$dbp->query($q2);
// SELECT parameter of Product Type
$dba->query($q.$dbag->f("product_type_id")." ORDER BY parameter_list_order");
$i=0;
while ($dba->next_record()) {
if ($i++ % 2) {
$bgcolor='row0';
} else {
$bgcolor='row1';
}
$html .= "<tr class=\"$bgcolor\" height=\"18\">\n";
$html .= "<td width=\"30%\">".$dba->f("parameter_label");
//$parameter_description = $dba->f("parameter_description");
if (!empty($parameter_description)) {
$html .= "&nbsp;";
$html .= vmToolTip($parameter_description, $VM_LANG->_('PHPSHOP_PRODUCT_TYPE_PARAMETER_FORM_DESCRIPTION'));
}
$html .= "</td>\n<td>";
$html .= $dbp->f($dba->f("parameter_name"))." ".$dba->f("parameter_unit")."</td></tr>\n";
}
$html .= "</table>\n";
}
return $html;
}
}

?>

Далее мне необходимо из всех параметров типов товара выбирать параметр Наименование (Name) и выводить его отдельно в нужном мне месте. Кто подскажет как правильно сделать запрос и вывести этот параметр?
*

ettikib

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Актуально!
Подскажите пожалуйста, как вывести именно ОПРЕДЕЛЕННЫЙ параметр типа, а не все параметры.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод товара из дочерних категорий в родительскую

Автор B0nG

Ответов: 0
Просмотров: 1878
Последний ответ 03.08.2014, 15:13:57
от B0nG
ID товара вместо cdata

Автор newsky

Ответов: 0
Просмотров: 1687
Последний ответ 01.07.2014, 13:05:12
от newsky
Расширенный Ajax-поиск по характеристикам товара VirtueMart

Автор Arkadiy

Ответов: 990
Просмотров: 209471
Последний ответ 27.06.2014, 16:47:52
от DeLight
Не могу убрать форму "Задайте вопрос..." на странице товара

Автор abrodski

Ответов: 1
Просмотров: 1814
Последний ответ 20.05.2014, 14:30:44
от abrodski
Свойства товара без подтягивания скидки

Автор One

Ответов: 0
Просмотров: 1481
Последний ответ 13.05.2014, 16:53:53
от One