Всплывающее окно Позвонить для запроса цены VirtueMart 3 вместо формы показывает описание

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

csusha

  • Осваиваюсь на форуме
  • ***
  • 30
  • 0
Добрый день. Очень нужна ваша помощь. Сломала всю голову уже. Работала кнопка Позвонить для запроса цены. Но в какой-то момент во всплывающем окне вместо формы начало загружаться описание товара из карточки. Вот сайт http://region-td.ru/derevyannye-zabory.html?Itemid=0  и код в файле default.php
Код
<div class="product-neighbours">
    <?php
    if (!empty($this->product->neighbours ['previous'][0])) {
$prev_link = JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $this->product->neighbours ['previous'][0] ['virtuemart_product_id'] . '&virtuemart_category_id=' . $this->product->virtuemart_category_id, FALSE);
echo JHtml::_('link', $prev_link, $this->product->neighbours ['previous'][0]
['product_name'], array('rel'=>'prev', 'class' => 'previous-page','data-dynamic-update' => '1'));
    }
    if (!empty($this->product->neighbours ['next'][0])) {
$next_link = JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $this->product->neighbours ['next'][0] ['virtuemart_product_id'] . '&virtuemart_category_id=' . $this->product->virtuemart_category_id, FALSE);
echo JHtml::_('link', $next_link, $this->product->neighbours ['next'][0] ['product_name'], array('rel'=>'next','class' => 'next-page','data-dynamic-update' => '1'));
    }
    ?>
    <div class="clear"></div>
        </div>
    <?php } // Product Navigation END
    ?>

*

gartes

  • Живу я здесь
  • ******
  • 951
  • 71
  • Е = mс²
Ну это слегка не тот код.
это следующий продукт и предыдущий и карточке продукта.

Ошибка тут.
http://region-td.ru/derevyannye-zabory/zabor-iz-derevyannogo-shtaketnika.html/askquestion.html?tmpl=component

*

csusha

  • Осваиваюсь на форуме
  • ***
  • 30
  • 0
Да я поняла что вставила нет тот кусок когда уже опубликовала. И как исправить ошибку?

*

gartes

  • Живу я здесь
  • ******
  • 951
  • 71
  • Е = mс²
Ну я так не скажу Вам. Нужно посмотреть как создается ссылка на эту кнопку.
Вы сможете сами найти ?
 

*

csusha

  • Осваиваюсь на форуме
  • ***
  • 30
  • 0
У меня вообще проблема ссылками VirtueMart на этом сайте после того как перешла с Joomla 2.5 на 3. Вот даже кнопки следующий/предыдущий товар выдают кракозяблу. Раньше все пункты меню с VirtueMart такое выдавали, но проблему решила с помощью скрытого меню и псевдонимов меню. Вы мне объясните если сможете где посмотреть создание этой ссылки.

*

gartes

  • Живу я здесь
  • ******
  • 951
  • 71
  • Е = mс²
Ну если Joomla 3 тогда тут
/components/com_virtuemart/sublayouts/products.php
Или еще тут
/templates/..ВАШ ШАБЛОН../html/com_virtuemart/sublayouts/products.php

*

csusha

  • Осваиваюсь на форуме
  • ***
  • 30
  • 0
Вот содержание файла products.php
Код
<?php

defined('_JEXEC') or die('Restricted access');
$products_per_row = empty($viewData['products_per_row'])? 1:$viewData['products_per_row'] ;
$currency = $viewData['currency'];
$showRating = $viewData['showRating'];
$verticalseparator = " vertical-separator";
echo shopFunctionsF::renderVmSubLayout('askrecomjs');

$ItemidStr = '';
$Itemid = shopFunctionsF::getLastVisitedItemId();
if(!empty($Itemid)){
$ItemidStr = '&Itemid='.$Itemid;
}

$dynamic = false;
if (vRequest::getInt('dynamic',false)) {
$dynamic = true;
}

foreach ($viewData['products'] as $type => $products ) {

$col = 1;
$nb = 1;
$row = 1;

if($dynamic){
$rowsHeight[$row]['product_s_desc'] = 1;
$rowsHeight[$row]['price'] = 1;
$rowsHeight[$row]['customfields'] = 1;
$col = 2;
$nb = 2;
} else {
$rowsHeight = shopFunctionsF::calculateProductRowsHeights($products,$currency,$products_per_row);

if( (!empty($type) and count($products)>0) or (count($viewData['products'])>1 and count($products)>0)){
$productTitle = vmText::_('COM_VIRTUEMART_'.strtoupper($type).'_PRODUCT'); ?>
<div class="<?php echo $type ?>-view">
  <h4><?php echo $productTitle ?></h4>
<?php // Start the Output
}
}

// Calculating Products Per Row
$cellwidth = ' width'.floor ( 100 / $products_per_row );

$BrowseTotalProducts = count($products);


foreach ( $products as $product ) {
if(!is_object($product) or empty($product->link)) {
vmdebug('$product is not object or link empty',$product);
continue;
}
// Show the horizontal seperator
if ($col == 1 && $nb > $products_per_row) { ?>
<div class="horizontal-separator"></div>
<?php }

// this is an indicator wether a row needs to be opened or not
if ($col == 1) { ?>
<div class="row">
<?php }

// Show the vertical seperator
if ($nb == $products_per_row or $nb % $products_per_row == 0) {
$show_vertical_separator = ' ';
} else {
$show_vertical_separator = $verticalseparator;
}

    // Show Products ?>
<div class="product vm-col<?php echo ' vm-col-' . $products_per_row . $show_vertical_separator ?>">
<div class="spacer product-container">
<div class="vm-product-media-container">

<a title="<?php echo $product->product_name ?>" href="<?php echo $product->link.$ItemidStr; ?>">
<?php
echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
?>
</a>

</div>

<div class="vm-product-rating-container">
<?php echo shopFunctionsF::renderVmSubLayout('rating',array('showRating'=>$showRating, 'product'=>$product));
if ( VmConfig::get ('display_stock', 1)) { ?>
<span class="vmicon vm2-<?php echo $product->stock->stock_level ?>" title="<?php echo $product->stock->stock_tip ?>"></span>
<?php }
echo shopFunctionsF::renderVmSubLayout('stockhandle',array('product'=>$product));
?>
</div>


<div class="vm-product-descr-container-<?php echo $rowsHeight[$row]['product_s_desc'] ?>">
<h2><?php echo JHtml::link ($product->link.$ItemidStr, $product->product_name); ?></h2>
<?php if(!empty($rowsHeight[$row]['product_s_desc'])){
?>
<p class="product_s_desc">
<?php // Product Short Description
if (!empty($product->product_s_desc)) {
echo shopFunctionsF::limitStringByWord ($product->product_s_desc, 60, ' ...')?>
<?php } ?>
</p>
<?php  } ?>
</div>


<?php //echo $rowsHeight[$row]['price'] ?>
<div class="vm3pr-<?php echo $rowsHeight[$row]['price'] ?>"> <?php
echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$product,'currency'=>$currency)); ?>
<div class="clear"></div>
</div>
<?php //echo $rowsHeight[$row]['customs'] ?>
<div class="vm3pr-<?php echo $rowsHeight[$row]['customfields'] ?>"> <?php
echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$product,'rowHeights'=>$rowsHeight[$row], 'position' => array('ontop', 'addtocart'))); ?>
</div>

<div class="vm-details-button">
<?php // Product Details Button
$link = empty($product->link)? $product->canonical:$product->link;
echo JHtml::link($link.$ItemidStr,vmText::_ ( 'COM_VIRTUEMART_PRODUCT_DETAILS' ), array ('title' => $product->product_name, 'class' => 'product-details' ) );
//echo JHtml::link ( JRoute::_ ( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id , FALSE), vmText::_ ( 'COM_VIRTUEMART_PRODUCT_DETAILS' ), array ('title' => $product->product_name, 'class' => 'product-details' ) );
?>
</div>
<?php if(vRequest::getInt('dynamic')){
echo vmJsApi::writeJS();
} ?>
</div>
</div>

<?php
    $nb ++;

      // Do we need to close the current row now?
      if ($col == $products_per_row || $nb>$BrowseTotalProducts) { ?>
    <div class="clear"></div>
  </div>
      <?php
      $col = 1;
$row++;
    } else {
      $col ++;
    }
  }

      if(!empty($type)and count($products)>0){
        // Do we need a final closing row tag?
        //if ($col != 1) {
      ?>
    <div class="clear"></div>
  </div>
    <?php
    // }
    }
  }
Только где тут что не знаю.

*

gartes

  • Живу я здесь
  • ******
  • 951
  • 71
  • Е = mс²
Код: php
echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$product,'rowHeights'=>$rowsHeight[$row], 'position' => array('ontop', 'addtocart')));
Ой. Ну да. Я прошу прощение.
Теперь нам нужен файл и той же папки SubLayout но только с названием
Код
prices.php
Где то с такого текста
Код
$askquestion_url.........

*

csusha

  • Осваиваюсь на форуме
  • ***
  • 30
  • 0
Вот код из файла price.php
Код
<?php
defined ('_JEXEC') or die('Restricted access');
$product = $viewData['product'];
$currency = $viewData['currency'];
?>
<div class="product-price" id="productPrice<?php echo $product->virtuemart_product_id ?>">
<?php
if (!empty($product->prices['salesPrice'])) {
//echo '<div class="vm-cart-price">' . vmText::_ ('COM_VIRTUEMART_CART_PRICE'). '</div>';
}

if ($product->prices['salesPrice']<=0 and VmConfig::get ('askprice', 1) and isset($product->images[0]) and !$product->images[0]->file_is_downloadable) {
$askquestion_url = JRoute::_('index.php?option=com_virtuemart&view=productdetails&task=askquestion&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id . '&tmpl=component', FALSE);
?>
<a class="ask-a-question bold" href="<?php echo $askquestion_url ?>" rel="nofollow" ><?php echo vmText::_ ('COM_VIRTUEMART_PRODUCT_ASKPRICE')?></a>
<?php
} else {
//if ($showBasePrice) {
echo $currency->createPriceDiv ('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $product->prices);
//if (round($product->prices['basePrice'],$currency->_priceConfig['basePriceVariant'][1])!= $product->prices['basePriceVariant']) {
echo $currency->createPriceDiv ('basePriceVariant', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_VARIANT', $product->prices);
//}

//}
echo $currency->createPriceDiv ('variantModification', 'COM_VIRTUEMART_PRODUCT_VARIANT_MOD', $product->prices);
if (round($product->prices['basePriceWithTax'],$currency->_priceConfig['salesPrice'][1])!= round($product->prices['salesPrice'],$currency->_priceConfig['salesPrice'][1])) {
echo '<span class="price-crossed" >' . $currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices). "</span>";
}
if (round($product->prices['salesPriceWithDiscount'],$currency->_priceConfig['salesPrice'][1])!= round($product->prices['salesPrice'],$currency->_priceConfig['salesPrice'][1])) {
echo $currency->createPriceDiv ('salesPriceWithDiscount', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITH_DISCOUNT', $product->prices);
}
echo $currency->createPriceDiv ('salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $product->prices);
if ($product->prices['discountedPriceWithoutTax'] != $product->prices['priceWithoutTax']) {
echo $currency->createPriceDiv ('discountedPriceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $product->prices);
} else {
echo $currency->createPriceDiv ('priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $product->prices);
}
echo $currency->createPriceDiv ('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $product->prices);
echo $currency->createPriceDiv ('taxAmount', 'COM_VIRTUEMART_PRODUCT_TAX_AMOUNT', $product->prices);
$unitPriceDescription = vmText::sprintf ('COM_VIRTUEMART_PRODUCT_UNITPRICE', vmText::_('COM_VIRTUEMART_UNIT_SYMBOL_'.$product->product_unit));
echo $currency->createPriceDiv ('unitPrice', $unitPriceDescription, $product->prices);
}
?>
</div>

ссылка с начала $askquestion тут есть. И что в ней может быть не так?