Zurück   xt:Commerce Webshop Shop Support > xt:Commerce Shopsoftware Community Area > Template System

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 17.11.2008, 09:42
Neuer Benutzer
 
Registriert seit: 05.12.2004
Beiträge: 11
Standard Formular "Bewertung schreiben" in Produktseite integrieren

Hallo,

ich möchte gerne das Formular "Bewertung schreiben" auf jeder Produktseite ausgeben.
Hat jemand von Euch dies bereits gemacht und kann mir dazu einige Hinweise geben?
Über eine Antwort würde ich mich sehr freuen.

VG Elke
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 17.11.2008, 10:48
Erfahrener Benutzer
 
Registriert seit: 13.09.2006
Ort: Berlin
Beiträge: 744
Standard

mach lieber ein Link zur Formular - ist dezenter...

/includes/modules/product_info.php

$info_smarty->assign('REVIEW_LINK', xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, '&info='.$product->data['products_id']));

/templates/.../modules/product_info/product_info_v1.html

<a href="{$REVIEW_LINK}">{#review_text#}</a>

in den jeweilige lang conf Dateien

[product_info]

review_text = 'Schreiben Sie eine Bewertung'
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 17.11.2008, 11:03
Neuer Benutzer
 
Registriert seit: 05.12.2004
Beiträge: 11
Standard

Hallo Rovert,

herzlichen Dank für Deine schnelle Hilfe.
Trotz Deines Einwands möchte ich nach wie vor das Formular in der Produktansicht integrieren.
Solltest Du oder jemand anderes mir da weiterhelfen können, wäre ich sehr dankbar.

VG Elke

Edit:
Ich habe in der Zwischenzeit mein Problem gelöst und habe die Datei "product_review_write.php" erstellt und in den Ordner includes/modules kopiert. Diese enthält folgenden Code:

PHP-Code:
<?php
if (isset ($_GET['action']) && $_GET['action'] == 'process') {
    if (
is_object($product) && $product->isProduct()) { 
        
// We got to the process but it is an illegal product, don't write
        
$customer xtc_db_query("select customers_firstname, customers_lastname from ".TABLE_CUSTOMERS." where customers_id = '".(int) $_SESSION['customer_id']."'");
        
$customer_values xtc_db_fetch_array($customer);
        
$date_now date('Ymd');
        if (
$customer_values['customers_lastname'] == '')
            
$customer_values['customers_lastname'] = TEXT_GUEST;
        
xtc_db_query("insert into ".TABLE_REVIEWS." (products_id, customers_id, customers_name, reviews_rating, date_added) values ('".$product->data['products_id']."', '".(int) $_SESSION['customer_id']."', '".addslashes($customer_values['customers_firstname']).' '.addslashes($customer_values['customers_lastname'])."', '".addslashes($_POST['rating'])."', now())");
        
$insert_id xtc_db_insert_id();
        
xtc_db_query("insert into ".TABLE_REVIEWS_DESCRIPTION." (reviews_id, languages_id, reviews_text) values ('".$insert_id."', '".(int) $_SESSION['languages_id']."', '".addslashes($_POST['review'])."')");
    }
    
xtc_redirect(xtc_href_link(FILENAME_PRODUCT_INFO$_POST['get_params']));
}

// lets retrieve all $HTTP_GET_VARS keys and values..
$get_params xtc_get_all_get_params();
$get_params_back xtc_get_all_get_params(array ('reviews_id')); // for back button
$get_params substr($get_params0, -1); //remove trailing &
if (xtc_not_null($get_params_back)) {
    
$get_params_back substr($get_params_back0, -1); //remove trailing &
} else {
    
$get_params_back $get_params;
}

$breadcrumb->add(NAVBAR_TITLE_REVIEWS_WRITExtc_href_link(FILENAME_PRODUCT_REVIEWS$get_params));

$customer_info_query xtc_db_query("select customers_firstname, customers_lastname from ".TABLE_CUSTOMERS." where customers_id = '".(int) $_SESSION['customer_id']."'");
$customer_info xtc_db_fetch_array($customer_info_query);

$name $customer_info['customers_firstname'].' '.$customer_info['customers_lastname'];
if (
$name == ' ')
   
$customer_info['customers_lastname'] = TEXT_GUEST;
$info_smarty->assign('PRODUCTS_NAME'$product->data['products_name']);
$info_smarty->assign('AUTHOR'$customer_info['customers_firstname'].' '.$customer_info['customers_lastname']);
$info_smarty->assign('INPUT_TEXT'xtc_draw_textarea_field('review''soft'3015''''false));
$info_smarty->assign('INPUT_RATING'xtc_draw_radio_field('rating''1').' '.xtc_draw_radio_field('rating''2').' '.xtc_draw_radio_field('rating''3').' '.xtc_draw_radio_field('rating''4').' '.xtc_draw_radio_field('rating''5'));
$info_smarty->assign('FORM_ACTION'xtc_draw_form('product_reviews_write'xtc_href_link(FILENAME_PRODUCT_INFO'action=process&'.xtc_product_link($product->data['products_id'],$product->data['products_name'])), 'post''onSubmit="return checkForm();"'));
$info_smarty->assign('BUTTON_BACK''<a href="javascript:history.back(1)">'.xtc_image_button('button_back.gif'IMAGE_BUTTON_BACK).'</a>');
$info_smarty->assign('BUTTON_SUBMIT'xtc_image_submit('button_continue.gif'IMAGE_BUTTON_CONTINUE).xtc_draw_hidden_field('get_params'$get_params));
$info_smarty->assign('FORM_END''</form>');
?>
Per include-Befehl habe ich diese dann in die Datei product_info.php eingebunden und zwar nach den Zeilen:
PHP-Code:
include (DIR_WS_MODULES.'product_attributes.php');
include (
DIR_WS_MODULES.'product_reviews.php'); 
Anschließend habe ich die Datei product_info_v1.html mit dem Code aus der Datei product_reviews_write.html ergänzt. (Beide Dateien findet ihr in den Template-Ordnern.)

Fertig. :-)

Vielen Dank noch mal für die Hilfe, denn die hat mich letztendlich auf die Idee gebracht, den o.g. Code nicht in der product_info.php im Rootverzeichnis, sondern die Datei im Ordner includes/modules product_info.php zu ändern.

VG Elke

Geändert von redcat63 (17.11.2008 um 12:00 Uhr) Grund: Problem gelöst
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 17.11.2008, 12:00
Erfahrener Benutzer
 
Registriert seit: 13.09.2006
Ort: Berlin
Beiträge: 744
Standard

dann binde das product_reviews_write Modul in der product_info Seite unten ein
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 30.03.2010, 14:28
Benutzer
 
Registriert seit: 02.02.2010
Beiträge: 59
Standard

Zitat:
Zitat von Rovert Beitrag anzeigen
mach lieber ein Link zur Formular - ist dezenter...

/includes/modules/product_info.php

$info_smarty->assign('REVIEW_LINK', xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, '&info='.$product->data['products_id']));

/templates/.../modules/product_info/product_info_v1.html

<a href="{$REVIEW_LINK}">{#review_text#}</a>

in den jeweilige lang conf Dateien

[product_info]

review_text = 'Schreiben Sie eine Bewertung'

Hallo. Wenn ich diesen Code so in meinem Shop einbaue erscheint als Link leider nur die Grund-URL ohne Verweis auf das Bewertungsformular, also nur www.xyz.de. Wie bekomme ich denn das nun wirklich zum Laufen? Oder ist da doch noch ein Fehler? Oder hab ich was falsch gemacht?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bewertung schreiben, formular, integrieren, produktseite

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
zus?tzl. formular in bestellvorgang integrieren? toniess Shopbereich 6 07.01.2006 19:39


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand