Joomla.it Forum
Componenti per Joomla! => Gestione e-commerce => : fafizio 29 Oct 2014, 09:21:44
-
Ciao a tutti,
ho un problema con Virtuemart 2.9 (joomla 3.3) e in particolare i prodotti correlati. In pratica non mi era possibile inserire prodotti correlati.
Ho risolto seguendo una soluzione di un forum inglese che mi suggeriva di inserire le due righe prodotti correlati e categorie correlate nella tabella del database com_virtuermart_custom. In effetti in tutti i database di altri siti che ho fatto c'erano quelle due righe mentre in questo no (problema durante l'installazione? non lo so).
Ho quindi aggiunto prodotti correlati con field_type R e categorie correlate con field_type Z
In ogni caso ora i prodotti si vedono ma vengono messi in colonna.
Ho "scoperto" che il mio template ha un override del template standard di virtuermart.. le parti che mi gestiscono la parte dei prodotti correlati sono queste
if (!empty($this->product->customfieldsSorted['normal'])) {
$this->position = 'normal';
echo $this->loadTemplate('customfields');
} // Product custom_fields END
e ancora poco più sotto
if (!empty($this->product->customfieldsRelatedProducts)) {
echo $this->loadTemplate('relatedproducts');
} // Product customfieldsRelatedProducts END
Mi è chiaro che in teoria virtuemart dovrebbe prendere la seconda parte del codice che richiama un file del template dedicato ai prodotti correlati.
Invece prende la prima parte del codice dedicata ai custom field che va a prendere un altro file del template che riporto qui sotto
<?php
defined ( '_JEXEC' ) or die ( 'Restricted access' );
?>
<div class="product-fields">
<?php
$custom_title = null;
foreach ($this->product->customfieldsSorted[$this->position] as $field) {
if ( $field->is_hidden ) //OSP http://forum.virtuemart.net/index.php?topic=99320.0 (http://forum.virtuemart.net/index.php?topic=99320.0)
continue;
//$field->row = $this->row;
if ($field->display) {
?><div class="product-field product-field-type-<?php echo $field->field_type ?> row-fluid">
<?php if ($field->custom_title != $custom_title && $field->show_title) { ?>
<div class="span6">
<span class="product-fields-title" ><?php echo vmText::_($field->custom_title); ?></span>
<?php
if ($field->custom_tip)
echo JHTML::tooltip($field->custom_tip, vmText::_($field->custom_title), 'tooltip.png');
?>
<><?php
}
?>
<div class="span6">
<span class="product-field-display"><?php echo $field->display ?></span>
<>
<span class="product-field-desc"><?php echo vmText::_($field->custom_field_desc) ?></span>
<>
<?php
$custom_title = $field->custom_title;
}
}
?>
<>
A me interessa poco quale parte del codice va a prendere, ma come faccio a non averli incolonnati ma a disporli in linea?
-
div.product-fields div.product-field {display: inline-block;}
a sto punto mi pare solo ul problema di css, quello sopra è un suggerimento ma ci sono molti modi per farlo: verifica il nome delle classi e lascia stare il php...
ciao
-
Ok ottimo funziona.. ma adesso ho la descrizione con solo i nomi dei prodotti senza immagini o prezzi..
dove devo andare a modificare per far comparire anche immagini e prezzi?
non penso di aver fatto troppo casino con i file php del template perchè comunque i prodotti correlati vengono visualizzati solo che viene visualizzato solo il nome del prodotto
-
Ho risolto reinstallando da capo il tutto e applicando la modifica suggeritami da mmleoni.
In ogni caso ora mi trovo i prodotti correlati ma voglio che su questi compaia anche il prezzo.
Come si fa?
Aggiungo che a me i prodotti correlati vengono gestiti da default_customfields con il seguente codice
<?php
/**
*
* Show the product details page
*
* @package VirtueMart
* @subpackage
* @author Max Milbers, Valerie Isaksen
* @link http://www.virtuemart.net (http://www.virtuemart.net)
* @copyright Copyright (c) 2004 - 2010 VirtueMart Team. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html (http://www.gnu.org/copyleft/gpl.html) GNU/GPL, see LICENSE.php
* VirtueMart is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* @version $Id: default_customfields.php 8036 2014-06-16 07:42:24Z Milbo $
*/
// Check to ensure this file is included in Joomla!
defined ( '_JEXEC' ) or die ( 'Restricted access' );
?>
<div class="product-fields">
<?php
$custom_title = null;
foreach ($this->product->customfieldsSorted[$this->position] as $field) {
if ( $field->is_hidden ) //OSP http://forum.virtuemart.net/index.php?topic=99320.0 (http://forum.virtuemart.net/index.php?topic=99320.0)
continue;
//$field->row = $this->row;
if ($field->display) {
?><div class="product-field product-field-type-<?php echo $field->field_type ?>">
<?php if ($field->custom_title != $custom_title && $field->show_title) { ?>
<span class="product-fields-title" ><?php echo vmText::_($field->custom_title); ?></span>
<?php
if ($field->custom_tip)
echo JHtml::tooltip($field->custom_tip, vmText::_($field->custom_title), 'tooltip.png');
}
?>
<span class="product-field-display"><?php echo $field->display ?></span>
<span class="product-field-desc"><?php echo vmText::_($field->custom_desc) ?></span>
<>
<?php
$custom_title = $field->custom_title;
}
}
?>
<>
-
cortesemente non postatre tutto il codice di VM, anche perché stai postando quello sbagliato: si tratta di un sublayout, non di un template, quello utilizzato per i customfields.
immagini e prezzo? non puoi, almeno non facilmente, dato che l'informazione non è presente nel campo.
ciao.