PDA

Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: Shopsoftware Templates Module Frage: Löschbutton Im Template Sp2.1


marcopolo
28.10.2006, 23:11
Habe eine Anleitung, um einen Löschbutton in Xt 3.04 SP1 zu realisieren ;
bei der SP2.1 funktioniert das nicht in der includes/cart_action.php

Kann mir wer helfen ?




1. Öffnen Sie die Datei : shop/includes/cart_actions.php (Zeile 75) und suchen den folgenden Eintrag :

****case 'add_product' :
************if (isset ($_POST['products_id']) && is_numeric($_POST['products_id'])) {
****************if ($_POST['products_qty'] > MAX_PRODUCTS_QTY)
********************$_POST['products_qty'] = MAX_PRODUCTS_QTY;
****************$_SESSION['cart']->add_cart((int) $_POST['products_id'], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id'])) + xtc_remove_non_numeric($_POST['products_qty']), $_POST['id']);
************}
************xtc_redirect(xtc_href_link($goto, 'products_id='.(int) $_POST['products_id'].'&'.xtc_get_all_get_params($parameters)));
************break;

** Nach diesem Code fügen Sie bitte folgendes ein :

****
****case 'remove_product' :****if (isset($HTTP_GET_VARS['products_id'])) {
******************************** $cart->remove($HTTP_GET_VARS['products_id']);
******************************}
******************************break;



2. Öffnen Sie Datei : shop/includes/modules/order_details_cart.php (Zeile 59) und suchen den folgenden Eintrag :

****'BOX_DELETE' => xtc_draw_checkbox_field('cart_delete[]', $products[$i]['id']),

** Diesen Eintrag ersetzen Sie nun mit folgendem :
****
****'BOX_DELETE' => '' . xtc_image(DIR_WS_IMAGES . 'bin1.jpg', IMAGE_BUTTON_REMOVE_PRODUCT, 16, 22) . ' (' . xtc_href_link(FILENAME_SHOPPING_CART, 'action=remove_product&products_id='.$products[$i]['id'].'', 'NONSSL').')' ,


3. Speichern Sie nun das Bild : bin1.jpg im Verzeichnis : shop/images/


4. Öffnen Sie die Datei : shop/lang/Sprache/german.php (english.php etc. ) und fügen am Ende vor dem ?> folgende Zeile ein :

****define('IMAGE_BUTTON_REMOVE_PRODUCT','Artikel aus Warenkorb löschen?');

bluemoon
28.10.2006, 23:18
der korrekte Code lautet :


case 'remove_product' :****if (isset($HTTP_GET_VARS['products_id'])) {
******************************** $_SESSION['cart']->remove($HTTP_GET_VARS['products_id']);
******************************}
******************************break;

phrench
30.10.2006, 22:05
''>ZITAT(bluemoon @ Oct 28 2006, 22:18) 13899
der korrekte Code lautet : ........
[/b]
dann sage ich halt: "danke"!
werde das bald einbauen, ist viel benutzerfreundlicher als die checkboxen.

(finde es halt total unhöflich, wenn jemand auf eine frage eine gute antwort kriegt und es dann nicht einmal mehr für nötig hält, feedback zu geben bzw. sich zu bedanken.)

bluemoon
30.10.2006, 22:51
ist doch OK :)

freu mich, wenn ich helfen kann :D

MAD King
12.11.2006, 10:41
Tausend Dank.
Schönes AddOn

MAD King
03.12.2006, 19:46
Hallo,

bei mir funktioniert das auf einmal nicht mehr bei der Version 304SP2.1.
Ich habe nichts an irgendeiner Datei verändert.

Hier ist der Code den ich eingebaut habe:


1. Öffnen Sie die Datei : shop/includes/cart_actions.php (Zeile 75) und suchen den folgenden Eintrag :

****case 'add_product' :
************if (isset ($_POST['products_id']) && is_numeric($_POST['products_id'])) {
****************if ($_POST['products_qty'] > MAX_PRODUCTS_QTY)
********************$_POST['products_qty'] = MAX_PRODUCTS_QTY;
****************$_SESSION['cart']->add_cart((int) $_POST['products_id'], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id'])) + xtc_remove_non_numeric($_POST['products_qty']), $_POST['id']);
************}
************xtc_redirect(xtc_href_link($goto, 'products_id='.(int) $_POST['products_id'].'&'.xtc_get_all_get_params($parameters)));
************break;

** Nach diesem Code fügen Sie bitte folgendes ein :

****

case 'remove_product' :****if (isset($HTTP_GET_VARS['products_id'])) {
******************************** $_SESSION['cart']->remove($HTTP_GET_VARS['products_id']);
******************************}
******************************break;



2. Öffnen Sie Datei : shop/includes/modules/order_details_cart.php (Zeile 59) und suchen den folgenden Eintrag :

****'BOX_DELETE' => xtc_draw_checkbox_field('cart_delete[]', $products[$i]['id']),

** Diesen Eintrag ersetzen Sie nun mit folgendem :
****
****'BOX_DELETE' => '' . xtc_image(DIR_WS_IMAGES . 'bin1.jpg', IMAGE_BUTTON_REMOVE_PRODUCT, 16, 22) . ' (' . xtc_href_link(FILENAME_SHOPPING_CART, 'action=remove_product&products_id='.$products[$i]['id'].'', 'NONSSL').')' ,


3. Speichern Sie nun das Bild : bin1.jpg im Verzeichnis : shop/images/


4. Öffnen Sie die Datei : shop/lang/Sprache/german.php (english.php etc. ) und fügen am Ende vor dem ?> folgende Zeile ein :

****define('IMAGE_BUTTON_REMOVE_PRODUCT','Artikel aus Warenkorb löschen?');

Wer hilft mir?

Danke

prundo
28.01.2007, 11:25
''>ZITAT(MAD King @ Dec 3 2006, 19:46) 16168
Hallo,

bei mir funktioniert das auf einmal nicht mehr bei der Version 304SP2.1.
Ich habe nichts an irgendeiner Datei verändert.

Hier ist der Code den ich eingebaut habe:


1. Öffnen Sie die Datei : shop/includes/cart_actions.php (Zeile 75) und suchen den folgenden Eintrag :

****case 'add_product' :
************if (isset ($_POST['products_id']) && is_numeric($_POST['products_id'])) {
****************if ($_POST['products_qty'] > MAX_PRODUCTS_QTY)
********************$_POST['products_qty'] = MAX_PRODUCTS_QTY;
****************$_SESSION['cart']->add_cart((int) $_POST['products_id'], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id'])) + xtc_remove_non_numeric($_POST['products_qty']), $_POST['id']);
************}
************xtc_redirect(xtc_href_link($goto, 'products_id='.(int) $_POST['products_id'].'&'.xtc_get_all_get_params($parameters)));
************break;

** Nach diesem Code fügen Sie bitte folgendes ein :

****

case 'remove_product' :****if (isset($HTTP_GET_VARS['products_id'])) {
******************************** $_SESSION['cart']->remove($HTTP_GET_VARS['products_id']);
******************************}
******************************break;
2. Öffnen Sie Datei : shop/includes/modules/order_details_cart.php (Zeile 59) und suchen den folgenden Eintrag :

****'BOX_DELETE' => xtc_draw_checkbox_field('cart_delete[]', $products[$i]['id']),

** Diesen Eintrag ersetzen Sie nun mit folgendem :
****
****'BOX_DELETE' => '' . xtc_image(DIR_WS_IMAGES . 'bin1.jpg', IMAGE_BUTTON_REMOVE_PRODUCT, 16, 22) . ' (' . xtc_href_link(FILENAME_SHOPPING_CART, 'action=remove_product&products_id='.$products[$i]['id'].'', 'NONSSL').')' ,
3. Speichern Sie nun das Bild : bin1.jpg im Verzeichnis : shop/images/
4. Öffnen Sie die Datei : shop/lang/Sprache/german.php (english.php etc. ) und fügen am Ende vor dem ?> folgende Zeile ein :

****define('IMAGE_BUTTON_REMOVE_PRODUCT','Artikel aus Warenkorb löschen?');

Wer hilft mir?

Danke
[/b]

??? Fehler behoben..?? Konnte dir jemand helfen..? Will es erst einabuen wenn ich weiß, dass es zu 100 % funktioniert??? Hat jemand ne Rückmeldung für mich..?? Danke an die Freaks da draussen

bluemoon
28.01.2007, 23:39
normal funktioniert der Code einwandfrei

prundo
30.01.2007, 22:07
''>ZITAT(bluemoon @ Jan 28 2007, 23:39) 19665
normal funktioniert der Code einwandfrei
[/b]

Hi.. habs eben eingebaut...!!! Hat sich jedoch irgendwie nichts geändert..!! Kein Button in Snicht..!!!

Hat jemand mal nen Screenshot??? Wo muss sich der Button befinden???
Danke Nochmal...

prundo
30.01.2007, 22:15
''>ZITAT(bluemoon @ Jan 28 2007, 23:39) 19665
normal funktioniert der Code einwandfrei
[/b]

ALLES GEFUNDEN......

Danke... GRINS

scanner
20.02.2007, 14:06
''>ZITAT(bluemoon @ Oct 28 2006, 22:18) 13899
der korrekte Code lautet :


case 'remove_product' :****if (isset($HTTP_GET_VARS['products_id'])) {
******************************** $_SESSION['cart']->remove($HTTP_GET_VARS['products_id']);
******************************}
******************************break;


[/b]

Schade der Code funktioniert bei mir nicht! Habe die SP2 Version. Was habe ich falsch gemacht?

hier der Code von cart_actions.php



********// customer adds a product from the products page
********case 'add_product' :
************if (isset ($_POST['products_id']) && is_numeric($_POST['products_id'])) {
****************if ($_POST['products_qty'] > MAX_PRODUCTS_QTY)
********************$_POST['products_qty'] = MAX_PRODUCTS_QTY;

****************if (is_object($econda)) {
********************$econda->_emptyCart();
********************$old_quantity = $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id']));
********************$econda->_addProduct($_POST['products_id'], $_POST['products_qty'], $old_quantity);
****************}

****************$_SESSION['cart']->add_cart((int) $_POST['products_id'], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id'])) + xtc_remove_non_numeric($_POST['products_qty']), $_POST['id']);
************}
************xtc_redirect(xtc_href_link($goto, 'products_id=' . (int) $_POST['products_id'] . '&' . xtc_get_all_get_params($parameters)));
************break;
************case 'remove_product' :****if (isset($HTTP_GET_VARS['products_id'])) {
******************************** $cart->remove($HTTP_GET_VARS['products_id']);
******************************}
******************************break;



Und hier der von der order_details_cart.php



$module_smarty = new Smarty;
$module_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
// include needed functions
require_once (DIR_FS_INC.'xtc_check_stock.inc.php');
require_once (DIR_FS_INC.'xtc_get_products_stock.inc.php');
require_once (DIR_FS_INC.'xtc_remove_non_numeric.inc.php');
require_once (DIR_FS_INC.'xtc_get_short_description.inc.php');
require_once (DIR_FS_INC.'xtc_format_price.inc.php');
require_once (DIR_FS_INC.'xtc_get_attributes_model.inc.php');

$module_content = array ();
$any_out_of_stock = '';
$mark_stock = '';

for ($i = 0, $n = sizeof($products); $i < $n; $i ++) {

****if (STOCK_CHECK == 'true') {
********$mark_stock = xtc_check_stock($products[$i]['id'], $products[$i]['quantity']);
********if ($mark_stock)
************$_SESSION['any_out_of_stock'] = 1;
****}

****$image = '';
****if ($products[$i]['image'] != '') {
********$image = DIR_WS_THUMBNAIL_IMAGES.$products[$i]['image'];
****}
****
****$module_content[$i] = array ('PRODUCTS_NAME' => $products[$i]['name'].$mark_stock, 'PRODUCTS_QTY' => xtc_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="2"').xtc_draw_hidden_field('products_id[]', $products[$i]['id']).xtc_draw_hidden_field('old_qty[]', $products[$i]['quantity']), 'PRODUCTS_MODEL' => $products[$i]['model'],'PRODUCTS_SHIPPING_TIME'=>$products[$i]['shipping_time'], 'PRODUCTS_TAX' => number_format($products[$i]['tax'], TAX_DECIMAL_PLACES), 'PRODUCTS_IMAGE' => $image, 'IMAGE_ALT' => $products[$i]['name'], 'BOX_DELETE' => '' . xtc_image(DIR_WS_IMAGES . 'bin1.jpg', IMAGE_BUTTON_REMOVE_PRODUCT, 16, 22) . ' (' . xtc_href_link(FILENAME_SHOPPING_CART, 'action=remove_product&products_id='.$products[$i]['id'].'', 'NONSSL').')' , 'PRODUCTS_LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($products[$i]['id'], $products[$i]['name'])), 'PRODUCTS_PRICE' => $xtPrice->xtcFormat($products[$i]['price'] $products[$i]['quantity'], true), 'PRODUCTS_SINGLE_PRICE' =>$xtPrice->xtcFormat($products[$i]['price'], true), 'PRODUCTS_SHORT_DESCRIPTION' => xtc_get_short_description($products[$i]['id']), 'ATTRIBUTES' => '');



Sind natürlich nur die wnichtigsten Ausschnitte aus den Dateien

Wer kann mir helfen?

Danke im voraus!

scanner
20.02.2007, 14:20
Hier der Shop bei dem ich das nicht hinbekomme!

http://www.manilo.de/shopping_cart.php/act.../products_id/13 (http://anonym.to/?http://www.manilo.de/shopping_cart.php/action/remove_product/products_id/13)

user: tester@mailclub24.com
pass: 123456

thanks für die Hilfe!