VirtueMart: Probleme mit Kundenbewertung (Rezension)

Jetzt ist es wieder frei! Und die Sterne werden leider nicht angezeigt :(

Die Frage ist auch: Warum versucht die Seite Sterne an den Stellen anzuzeigen wo überhaupt keine Bewertung abgegeben wurde? :(

Grüße
 
Hi,
Warum versucht die Seite Sterne an den Stellen anzuzeigen wo überhaupt keine Bewertung abgegeben wurde?
Das wäre eine andere Frage. Erstmal das Hauptproblem lösen.

Also im Quellcode wird jetzt eine Grafik angezeigt. Aber der Pfad beinhaltet Fehler.
<img src="http://herzog.cubemedia.info/components/com_virtuemart/assets//reviews/.gif" alt=" Sternchen">
Vor reviews dürfte nur ein backslash stehen und der Name von.gif stimmt auch nicht.

Du scheinst aber nicht der einzige mit diesen Problemen zu sein:http://forum.virtuemart.net/index.php?topic=97611.45

Grüße
 
Hi,
Ist dort das Problem gelöst? Ich musste nämlich außer Haus und der link funktioniert via iPhone gerade irgendwie nicht!

Ich würde es nämlich gerne auch hier lösen, falls noch jemanden hier das Thema betrifft ;)
 
Hi,
also sie haben da ein paar Snippets gepostet nach denen es gehen sollte. Aber meine Erfahrung sagt mir solange ich das nicht selbst ausprobiert habe, gebe ich keinen Heller auf das was dort gepostet wird.
Bei mir haben schon so oft Snippets aus dem Forum nicht funktioniert, was aber auch an den vielen Versionen von VMart liegt welche im Umlauf sind. Viele verwenden eben noch alte Versionen.

Also ich denke die Lösung für dein Problem liegt erstmal daran die Ausgabe der Sterne zu fixen. Also das die richtige Datei ausgegeben wird.

Grüße
 
Hi,

gut sobald ich wieder Zuhause im Büro sitze, werde ich mich durch die Snippets kämpfen!

Hoffen wir mal, dass es zu einer Lösung kommt :)

Bis nachher ;)
 
Hi,
da bin ich wieder! So wie ich das sehe ist dieser Thread für die Artikel-Detail-Ansicht und nicht für die Kategorie-Übersicht :(

Grüße

hi,

habe ich! ich kann´s nirgends sehen.
 
Hi,
mach mal
echo '<h1>'$product->votes->rating'</h1>'
wenn was ausgegeben wird siehste es vielleicht besser. Oder schreib irgendwo
Code:
<?php  
$ratingtest = $product->votes->rating;   
echo "<script type="text/javascript">alert(".$ratingtest.");</script>";
 ?>
hin. Dann sollte dir ein Alarmfenster angezeigt werden. Ist vielleicht etwas sicherer um zu testen.

Grüße
 
Es gab ein Paar Fehler somit habe ich den Code ein wenig verändert. Aber Alert ist leer.

PHP:
<?php  
$ratingtest = $product->votes->rating;   
echo '<script type="text/javascript">alert("'.$ratingtest.'");</script>';


echo '<h1>';
$product->votes->rating;
echo'</h1>';
?>

Irgendwie gibt´s den Bezug zu $product->votes->rating garnicht :/

Hi nochmal,

ich war kurz in Indien :p

Habe jetzt eine Änderung unter /components/com_virtuemart/views/category/view.html.php gemacht:
PHP:
########################################################################
Bei mir ab Zeile 79
########################################################################

	//foreach($products as $product){ 									DIESER BEREICH WIRD ERSETZT
	//	$product->stock = $productModel->getStockIndicator($product);		DIESER BEREICH WIRD ERSETZT
	//}															DIESER BEREICH WIRD ERSETZT
	$ratingModel = VmModel::getModel('ratings');
 
	foreach($products as $product)
	{
		$product->stock = $productModel->getStockIndicator($product);
		$product->showRating = $ratingModel->showRating($product->virtuemart_product_id);
		if ($product->showRating) 
		{
			$product->vote = $ratingModel->getVoteByProduct($product->virtuemart_product_id);
			$product->rating = $ratingModel->getRatingByProduct($product->virtuemart_product_id);
		}
	}

########################################################################
Dann ab Zeile 96 werden 2 Zeilen hinzugefügt:
########################################################################

	$ratingModel = VmModel::getModel('ratings');
	$showRating = $ratingModel->showRating();
	$this->assignRef('showRating', $showRating);

	$rating = $ratingModel->getRatingByProduct($product->virtuemart_product_id);
	$this->assignRef('rating', $rating);

Und nun noch die /templates/DEIN_TEMPLATE/html/com_virtuemart/category/default.php
Wer die Ordner und die Dateien noch nicht hat sollte sie anlegen (Stichpunkt: Override).

PHP:
Ich habe jetzt natürlich ein riesen Durcheinander aber wir ersetzen einfach die Stelle:

	<?php if ($this->showRating) { ?>
	<span class="contentpagetitle"><?php echo JText::_ ('COM_VIRTUEMART_CUSTOMER_RATING') ?>:</span>
	<?php 
	$img_url = JURI::root().VmConfig::get('assets_general_path').'/reviews/'.$product->votes->rating.'.gif';
	echo JHTML::image($img_url, $product->votes->rating.' '.JText::_('COM_VIRTUEMART_REVIEW_STARS'));
	echo JText::_('COM_VIRTUEMART_TOTAL_VOTES').": ". $product->votes->allvotes;
	?>
	<?php }   ?>

mit:
	<?php
	if ($this->showRating) {
			$maxrating = VmConfig::get ('vm_maximum_rating_scale', 5); // these are imp
			$ratingsShow = VmConfig::get ('vm_num_ratings_show', 3); // these are imp

			if (empty($product->rating)) {
			/*  ICH HABE HIER AUSKOMMENTIERT WEIL: KEIN VOTING / KEINE ANZEIGE 
			FÜR MICH UNNÖTIG UND UNSCHÖN
			?>
			<span class="vote"><?php echo JText::_('COM_VIRTUEMART_RATING') . ' ' . JText::_('COM_VIRTUEMART_UNRATED') ?></span>
			<?php*/
			} else {
				$ratingwidth = ( $product->rating->rating * 100 ) / $maxrating; 
			?>
			<span class="vote">
				<?php echo JText::_('COM_VIRTUEMART_RATING') . ' ' . round($product->rating->rating, 2) . '/' . $maxrating; ?><br/>
				<span title=" <?php echo (JText::_("COM_VIRTUEMART_RATING_TITLE") . $product->rating->rating . '/' . $maxrating) ?>" class="vmicon ratingbox" style="display:inline-block;">
				<span class="stars-orange" style="width:<?php echo $ratingwidth.'%'; ?>"></span>
			</span>
		</span>
		<?php
		}
	}
	?>


Jetzt müssen wir nur noch die Grafik entweder in der vmsite-ltr.css neu verlinken:
PHP:
.ratingbox span {
oder einfach diese an eine andere Stelle kopieren.

Grüße

PS: Mir bereitet nur noch Kopfschmerzen, dass jetzt die view.html.php nicht wie die default.php vor UPDATES geschützt ist!

Also legt am besten eine Sicherheitskopie ab (bis keine andere Lösung da ist) ;)
 
Hi,
ist schön das es jetzt funktioniert.
Das mit dem Updateschutz ist schon so eine Sache. Ich hab das Problem bei einer VMart Installation bei der ich mehrere Dateien nicht schützen kann und nach jedem Update wieder überprüfen darf.
Stichwort Virtuemart-Suche und Produtsortierung.

Ist halt so bei Opensourceprodukten das man sich nicht beschweren darf wenn was nicht funktioniert.
Schade ist nur das gesagt wird das ein Problem behoben wäre, Suche nach Detailinformationen udn dann Versionen später der Fehler immer noch da ist.

Viele Grüße
 
Zurück