redcat63 Posted November 17, 2008 Report Share Posted November 17, 2008 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 Link to comment Share on other sites More sharing options...
Rovert Posted November 17, 2008 Report Share Posted November 17, 2008 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' Link to comment Share on other sites More sharing options...
redcat63 Posted November 17, 2008 Author Report Share Posted November 17, 2008 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 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_params, 0, -1); //remove trailing & if (xtc_not_null($get_params_back)) { $get_params_back = substr($get_params_back, 0, -1); //remove trailing & } else { $get_params_back = $get_params; } $breadcrumb->add(NAVBAR_TITLE_REVIEWS_WRITE, xtc_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', 30, 15, '', '', 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>'); ?>[/php]Per include-Befehl habe ich diese dann in die Datei product_info.php eingebunden und zwar nach den Zeilen: [php]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 Link to comment Share on other sites More sharing options...
Rovert Posted November 17, 2008 Report Share Posted November 17, 2008 dann binde das product_reviews_write Modul in der product_info Seite unten ein Link to comment Share on other sites More sharing options...
parrotshop.org Posted March 30, 2010 Report Share Posted March 30, 2010 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? Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.