Jump to content
xt:Commerce Community Forum

Search the Community

Showing results for tags 'ajax'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • xt:Commerce - Professionelle eCommerce Shopsoftware
    • Fragen zur Software
    • xt:Commerce Plugins
    • xt:Commerce 4 Sprachen
    • xt:Commerce Online Handbuch
    • Häufige Fragen (FAQ)
    • Fragen zur Software (Pre Sale)
    • Anleitungen - Patches - Downloads
  • xt:Commerce Office - Shop & Warenwirtschaft
    • Allgemeine Fragen
  • xt:Commerce Allgemein
  • xt:Commerce 3 Shopsoftware Community Area (nur Lesen)
    • Allgemeine Diskussionen
    • Installation und Konfiguration
    • Shopbereich
    • Admininterface
    • Modul Entwicklung
    • Template System
    • xt:Commerce Schnittstellen ERP Systeme
    • PHP & MysQL Forum
    • HTML & CSS

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


ICQ


Yahoo


Jabber


Skype


Location


Interests


Biografie


Wohnort


Interessen


Beruf

Found 25 results

  1. Hallo Leute, ich habe einen neuen Tab im Backend geöffnet und führe nun per Hook (row_actions.php:actions) meinen eigenen Code aus. Nun würde ich gerne mit JQuery per ajax call ein PHP Script ausführen. Dieses ist unter "xt_my_test_plugin/hooks/dosom.php" zu finden Allerdings bekomme ich immer ein Error zurück und Firebug zeigt mir diesbezüglich folgenden Fehler an: 404 not found und The requested URL [Server pfad zu meinem Shop]/plugins/xt_my_test_plugin/hooks/dosom.php was not found on this server Mein Code: $urlplug = _SRV_WEBROOT.'plugins/xt_my_test_plugin/hooks/dosom.php'; echo '<h1 id="txttest" style="color: black">Hallo</h1>'; echo '<script type="text/javascript"> document.getElementById("txttest").innerHTML = "New text!"; $.ajax({ url: "'.$urlplug.'", type: "POST", success: function( response ) { console.log(response); $("#txttest").text("ok"); }, error: function(){ console.log("error is..."); $("#txttest").text("error"); } }); </script> Leider weiß ich nicht mit welchem anderen Pfad ich das Script ausführen soll. Ich freue mich über Antworten. Grüße
  2. Hallo, Ich habe das modul ajax add cart eingebaut mein problem ist das wenn ich auf bestellen klicke der gesammte Warenkorb verschwindet und erst wieder auftaucht wenn ich auf eine andere Seite gehe oder Aktualisiere. Der Artikel ist dann jedoch zugefügt worden. Wär echt super wenn mir jemand weiter helfen könnte ich habe das modul jetz schon das 3mal eingebaut doch es taucht jedes mal der selbe Fehler auf. Die Installationsanleitung habe ich beigefügt. Danke & Gruss Andreas QUELLTEXT Ajax Add Cart © 2008 Estelco (no warranty) released under GPL 1. BACKUP MACHEN!!! 2. Datenbank INSERT INTO `configuration` VALUES(null, 'ADD_CART_ENABLED', 'false', 25, 1, NULL, now(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),'); INSERT INTO `configuration` VALUES(null, 'ADD_CART_BOX_ID', 'box_cart', 25, 2, NULL, now(), NULL, NULL); INSERT INTO `configuration` VALUES(null, 'ADD_CART_COLOR_FADE', 'true', 25, 3, NULL, now(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),'); INSERT INTO `configuration` VALUES(null, 'ADD_CART_FROM_COLOR', 'FFFF00', 25, 4, NULL, now(), NULL, NULL); INSERT INTO `configuration` VALUES(null, 'ADD_CART_TO_COLOR', 'CCCCCC', 25, 5, NULL, now(), NULL, NULL); INSERT INTO `configuration` VALUES(null, 'ADD_CART_STEPS', '50', 25, 6, NULL, now(), NULL, NULL); INSERT INTO `configuration` VALUES(null, 'ADD_CART_DELAY', '2000', 25, 7, NULL, now(), NULL, NULL); 3. Dateien kopieren includes/addCart.js.php ajaxAddCart.php 4. Anpassungen an Dateien admin/includes/column_left.php Am Ende (vor dem ?>) anfügen if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['configuration'] == '1')) echo '<a href="' . xtc_href_link(FILENAME_CONFIGURATION, 'gID=25', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_CONFIGURATION_25 . '</a><br>'; includes/classes/product.php sofern gewünscht, suche Funktion getBuyNowButton ca. Zeile 348 function getBuyNowButton($id, $name) { global $PHP_SELF; return '<a href="'.xtc_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$id.'&'.xtc_get_all_get_params(array ('action')), 'NONSSL').'">'.xtc_image_button('button_buy_now.gif', TEXT_BUY.$name.TEXT_NOW).'</a>'; } ändern in function getBuyNowButton($id, $name) { global $PHP_SELF; $attrib_check = xtDBquery("SELECT COUNT(*) as count FROM " . TABLE_PRODUCTS_ATTRIBUTES . " WHERE products_id=" . (int)$id); $result = xtc_db_fetch_array($attrib_check, true); if ($result['count'] == 0) { $ajax = 'onclick="return addCart(this.form);" '; } else { $ajax = ''; } return '<a ' . $ajax . 'href="'.xtc_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$id.'&'.xtc_get_all_get_params(array ('action')), 'NONSSL').'">'.xtc_image_button('button_buy_now.gif', TEXT_BUY.$name.TEXT_NOW).'</a>'; } includes/modules/product_info.php ca. Zeile 58 + 62 $info_smarty->assign('ADD_CART_BUTTON', xtc_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART)); ändern in $info_smarty->assign('ADD_CART_BUTTON', xtc_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART, ADD_CART_ENABLED == 'true' ? 'onclick="return addCart(this.form);"' : '')); includes/header.php ca. Zeile 59 <link rel="stylesheet" type="text/css" href="<?php echo 'templates/'.CURRENT_TEMPLATE.'/stylesheet.css'; ?>" /> danach einfügen <?php if (ADD_CART_ENABLED == 'true') include('includes/addCart.js.php'); ?> lang/german/admin/configuration.php Am Ende (vor dem ?>) anfügen // Ajax Add Cart define('ADD_CART_ENABLED_TITLE', 'Funktion aktiv'); define('ADD_CART_ENABLED_DESC', 'Soll die Funktion genutzt werden?'); define('ADD_CART_BOX_ID_TITLE', 'Warenkorb-DIV'); define('ADD_CART_BOX_ID_DESC', 'ID des Warenkorb-DIVs'); define('ADD_CART_COLOR_FADE_TITLE', 'Farbige Markierung'); define('ADD_CART_COLOR_FADE_DESC', 'Soll der neue Artikel mittels Farbverlauf markiert werden?'); define('ADD_CART_FROM_COLOR_TITLE', 'Anfangsfarbe'); define('ADD_CART_FROM_COLOR_DESC', 'Anfangsfarbe (hexadezimal, z.B. F9D312)'); define('ADD_CART_TO_COLOR_TITLE', 'Endfarbe'); define('ADD_CART_TO_COLOR_DESC', 'Endfarbe (hexadezimal)'); define('ADD_CART_STEPS_TITLE', 'Verlauf'); define('ADD_CART_STEPS_DESC', 'Anzahl Schritte für den Verlauf. Je höher, desto länger dauert die Darstellung. Standard = 50'); define('ADD_CART_DELAY_TITLE', 'Verzögerung'); define('ADD_CART_DELAY_DESC', 'Anfängliche Verzögerung in Millisekunden vor Beginn des Verlaufs, wobei die Anfangsfarbe sofort gesetzt wird. Standard = 2000'); lang/german/admin/german.php ca. Zeile 99 define('BOX_CONFIGURATION_22', 'Such-Optionen'); danach einfügen define('BOX_CONFIGURATION_25', 'Ajax Add Cart'); templates/TEMPLATE/boxes/box_cart.html suchen nach <a href="{$products_data.LINK}">{$products_data.NAME|truncate:25:"...":true}</a> ändern in <a {if $products_data.NEW}id="new_in_cart" {/if}href="{$products_data.LINK}">{$products_data.NAME|truncate:25:"...":true}</a> templates/TEMPLATE/source/boxes/shopping_cart.php ca. Zeile 36 'NAME' => $products[$i]['name']); ändern in 'NAME' => $products[$i]['name'], 'NEW' => $products[$i]['id'] == $_SESSION['new_products_id_in_cart']); templates/TEMPLATE/index.html suchen nach {$box_CART} ändern in <div id="box_cart">{$box_CART}</div> Sollte die ID "box_cart" schon in Gebrauch sein, so kann eine eigene ID verwendet und im Adminbereich in der Konfiguration eingetragenw erden. 5. Viel Spass damit...
  3. Hallo zusammen, das Zusammenspiel des Master/Slave Plugins 1.1.5 mit der Option "Ajax" bringt mich um den Schlaf: Wenn man bei einem Artikel eine Option auswählt wird der größte Teil der Seite korrekt aktualisiert. Jedoch nicht die Tabs für Zubehör (cross-selling), Artikelbewertungen und Downloads. Wie kriege ich es hin, dass auch die aktualisiert werden?
  4. Hallo, wir nutzen den Ajax Modus im Master/Slave System. Nun füge ich über den Hookpoint: module_product.php:default_tpl_data[/CODE] den entsprechenden Herstellernamen und Beschreibung in das das Produkt Template ein (product.html). Leider ist die Smarty-Variable ($manufactures_name und $manufactures_description) nach einem Klick auf einen Slave im Ajax Modus immer wieder leer. Auf dem Master bzw. aktiven Slave funktioniert es, aber sobald man per Ajax auf einen Slave wechselt, sind die beiden Smarty Variablen nicht mehr vorhanden. Wie bekomm ich ich es hin, dass die Smarty Variable nicht verloren geht?
  5. Hallo, ich habe ein Problem mit der Produktseitenanzeige bei einem Slave und aktiviertem Ajax. Veyton 4.1.1 Wenn das Produkt-Template (product.html) stark angepasst ist, funktioniert die Master/Slave Funktion nicht mehr, da es sofort das komplette Template zerstört, wenn man einen Slave mit Ajax auswählt (klar, es wird per Ajax verändert und stimmt nicht mehr mit dem Produkt TPL überein). Nun gibt es ja im Master/Slave Plugin ein TPL dafür (dachte ich, bzw. früher hat das auch mal funktioniert), dass "ms_product_list_default.html". Allerdings funktioniert das ja auch nicht (es wird wohl nie? benutzt). Wie bekomme ich nun die Slave-Produktseite angepasst?
  6. Hallo, Sollte beim neuen Master/Slave mit aktiviertem Ajax das Produktbild auch vom Slave geladen werden? Hier bleibt aktuell immer das Master Artikelbild stehen, wenn man mit Ajax wechselt?
  7. Hallo Zusammen, da das Plugin "Ajax Basket" verschlüsselt ist wäre meine Frage, ob es ein ähnnliches Modul gibt welches nicht verschlüsselt ist oder sonst eine Möglichkeit. Ich muss einige Änderungen an diesem Plugin durchführen. Danke schon mal
  8. Hallo, für die Entwicklung eines Veyton Plugins möchte ich die verfügbaren Kategorien (und später auch Produkte) per AJAX abfragen. Das Ergebnis des AJAX Requests soll ein JSON String sein. Ich habe im Moment keine Idee wie dies mit dem Hook Konzept umzusetzen wäre und bin für jeden Tip dankbar. Grüße chavez
  9. Hallo. Ich nutze den Ajax-Warenkorb von BUI. Ausserdem habe ich einen div container, welcher den Inhalt des Warenkorbs bei hover über den "Meine Tasche" Link anzeigt. Der container soll nur dann sichtbar sein, wenn jemand über den "Meine Tasche" Link fährt oder etwas in die Tasche gelegt hat. Den div container mit Warenkorbinhalt könnte ich per jquery ausblenden: $(document).ready(function () { $('.Warenkorb').css({'display':'none'}); }); Ich könnte auch .hide() nutzen. Das Problem bei oben beschriebener Methode ist, dass bei zu viel Content, der div container kurzzeitig sichtbar ist. Da er erst ausgeblendet wird, wenn DOM geladen ist. Das Problem umgehe ich, indem ich dem div container direkt per css display:none gebe. Nun habe ich das Problem, dass nachdem etwas in die Tasche gelegt wurde, der div container nur kurz sichtbar wird und dann verschwindet. $(document).ready(function () { $('.warenkorbbutton').click(function() { $('.Warenkorb').show(); return false; }); }); Theoretisch müsste der div container nach einem Klick auf den .warenkorbbutton sichtbar sein und gar nicht verschwinden. Ich habe gelesen, dass man das Javascript direkt im Code hinter den div container, welchen mann ausblenden will, legen könnte. Aber da zerlegts mir die komplette Seite. Ich hoffe das war halbwegs verständlich und bin über jeden Rat dankbar. Grüße
  10. Guten Tag liebe Mitstreiter. Gibt es eine Möglichkeit, das Produkt per Ajax in den Warenkorb zu legen, ohne das ein reload der Seite erforderlich ist? Alles was ich im Forum dazu finden konnte ist relativ alt und ich bin leider nicht in der Lage "Ajax Add Cart" einzubinden. Ich lasse zwar per {$message} ausgeben, dass ein Produkt in den Warenkorb gelegt wurde (ohne Sprung in Warenkorb) und habe auch mit jquery eine kleine Warenkorbanzeige, die bei hover über ein Element ausfährt, realisiert. Aber Ajax wäre mir dennoch lieber. Viele Grüße
  11. Hallo Community, nach der erfolgreichen Installation des Veyton Shop CE (4.0.14) kann ich war noch ins Backend einloggen und der Shop läuft im Frontend ohne Probleme, aber es wird kein Modul im Backend geladen. Das Backend sieht aus wie immer, aber die Ajax-Anfrage wird nie beantwortet, oder kommt leer wieder zurück. ( Einige wenige Seiten / Module laufen: System->Datenbankmonitor->Query Alle Seiten unter "Partner" ) Unter Chrome bekomme ich folgende Fehlermeldungen wenn ich die Module aufrufe (und diese per Ajax geladen werden sollten): Uncaught TypeError: Cannot call method 'getForm' of undefined adminHandler.phpPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=configuration&edit_id=1&store_id=1 200 (OK) adminHandler.php?load_section=product&pg=overviewPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=product&pg=overview undefined (undefined) adminHandler.php?load_section=manufacturer&pg=overviewPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=manufacturer&pg=overview undefined (undefined) adminHandler.phpPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=xt_reviews&plugin=xt_reviews 500 (Internal Server Error) adminHandler.php?load_section=xt_master_slave&plugin=xt_master_slavePOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=xt_master_slave&plugin=xt_master_slave undefined (undefined) adminHandler.php?load_section=order&pg=overviewPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=order&pg=overview undefined (undefined) adminHandler.php?load_section=customer&pg=overviewPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=customer&pg=overview undefined (undefined) adminHandler.php?load_section=customers_status&pg=overviewPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=customers_status&pg=overview undefined (undefined) adminHandler.php?load_section=exportPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=export undefined (undefined) adminHandler.php?load_section=xt_im_export&plugin=xt_im_exportPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=xt_im_export&plugin=xt_im_export undefined (undefined) adminHandler.php?load_section=email_manager&pg=overviewPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=email_manager&pg=overview undefined (undefined) adminHandler.php?load_section=plugin_installed&pg=overviewPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=plugin_installed&pg=overview undefined (undefined) adminHandler.php?load_section=plugin_uninstalled&pg=overviewPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=plugin_uninstalled&pg=overview undefined (undefined) adminHandler.php?load_section=stock_rulePOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=stock_rule undefined (undefined) adminHandler.php?load_section=shipping_statusPOST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=shipping_status undefined (undefined) Unter Firefox-Firebug bekomme ich (andere) Ausgaben: Bekannte Probleme mit der aktuellen Firefox Version: http://getfirebug.com/knownissues GET http://shop.myurl.de/xtAdmin/DropdownData.php?get=ext_languages&skip_empty=true&_dc=1305891710407 200 OK 1.35s firebu...rver.js (Zeile 169) <System> POST http://shop.myurl.de/xtAdmin/get-nodes.php 200 OK 629ms firebu...rver.js (Zeile 169) <System> POST http://shop.myurl.de/xtAdmin/get-nodes.php 200 OK 711ms firebu...rver.js (Zeile 169) <System> POST http://shop.myurl.de/xtAdmin/get-nodes.php 200 OK 726ms firebu...rver.js (Zeile 169) <System> POST http://shop.myurl.de/xtAdmin/get-nodes.php 200 OK 698ms firebu...rver.js (Zeile 169) <System> POST http://shop.myurl.de/xtAdmin/get-nodes.php 200 OK 656ms firebu...rver.js (Zeile 169) <System> POST http://shop.myurl.de/xtAdmin/get-nodes.php 200 OK 749ms firebu...rver.js (Zeile 169) <System> POST http://shop.myurl.de/xtAdmin/get-nodes.php 200 OK 855ms firebu...rver.js (Zeile 169) <System> GET http://shop.myurl.de/xtAdmin/adminHandler.php?_dc=1305891710896&keepalive=true 200 OK 1.22s firebu...rver.js (Zeile 169) <System> ParameterHeaderAntwortJSONCookies {"error":"ERROR404"} POST http://shop.myurl.de/xtAdmin/dashboard.php 200 OK 1.38s firebu...rver.js (Zeile 169) <System> Ext.getCmp("total-form") is undefined [Bei diesem Fehler anhalten] Ext.util.JSON=new (function(){var useH...code;Ext.decode=Ext.util.JSON.decode; ext-all.js (Zeile 23) POST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=customer&pg=overview 200 OK 279ms firebu...rver.js (Zeile 169) <System> ParameterHeaderPostAntwortXMLCookies POST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=xt_im_export&plugin=xt_im_export 200 OK 418ms firebu...rver.js (Zeile 169) <System> ParameterHeaderPostAntwortXMLCookies POST http://shop.myurl.de/xtAdmin/adminHandler.php?load_section=payment&pg=overview 200 OK 537ms firebu...rver.js (Zeile 169) <System> ParameterHeaderPostAntwortXMLCookies XML-Verarbeitungsfehler: Kein Element gefunden Adresse: moz-nullprincipal:{9a7a7e9f-c98a-4f02-96be-7ff0ed40c345} Zeile Nr. 1, Spalte 1: ^ GET http://shop.myurl.de/xtAdmin/adminHandler.php?_dc=1305891770897&keepalive=true 200 OK 281ms firebu...rver.js (Zeile 169) <System> ParameterHeaderAntwortJSONCookies {"error":"ERROR404"} Grade den 404 Error beim "keep alive" finde ich komsich. Ich habe die Vermutung, dass es irgendwie am Server liegen könnte, da die selbe Filebase und die selbe Datenbank auf einem anderen Server funktioniert. (exportiert->imortiert->xt_stores-Tabelle geändert) Ich habe bereits das memory limit erhöht und ein paar andere php_flags probiert: php_value max_execution_time 120 php_value max_input_time 120 php_value memory_limit 512M php_value register_long_arrays On php_flag register_globals off Ebenso habe ich normale Ajax-Requests mit einer Testseite auf dem Server probiert, auch diese laufen ohne Probleme. Leider bekomme ich bei dem Server kein php-error.log um zu sehen was da schief läuft. ( Auch nicht mit folgendem in der .htaccess: php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log /var/www/vhosts/myurl.de/subdomains/shop/httpdocs/PHP_errors.log und mit der Datei PHP_errors.log angelegt und beschreibbar. ) Könnte das Problem irgendwie beim ioncube_loader liegen? Vielen Dank für Eure Hilfe! Robert EDIT: Wenn man alle Fehlermeldungen einstellt, dann erscheint im BE folgender Fehler: Warning: session_start() [0function.session-start0]: Cannot send session cache limiter - headers already sent (output started at /var/www/vhosts/meineSeite/subdomains/shop/httpdocs/xtFramework/admin/main.php:40) in /var/www/vhosts/meineSeite/subdomains/shop/httpdocs/xtFramework/admin/database_handler.php on line 60 Wieso dieser Fehler auftritt, und warum schon etwas vorher gesendet wird, ist mir unklar und aufgrund der Verschlüsselung auch nicht nachvollziehbar. Es sollte allerdings nicht am Shop liegen, da dieser ja auf zwei anderen Servern tadellos funktioniert.
  12. Für ein Plugin soll ein Formular über Ajax geladen werden. Wie kann man hier gezielt einzelne Smartytemplates ansprechen? Im Formular-div soll ja nicht nochmal der komplette Shop mit Header, Kategorien und Content etc. geladen werden sondern eben nur Teile. Man kann zwar mit $display_output = false; die Templateausgabe abschalten, aber eben dann komplett. Dann fehlen auch die Sprachen usw. Weiß da einer Rat oder hat einen Denkanstoß? Danke. Gruß bitsy24
  13. Meiner Erinnerung nach hatten die Hersteller von xt:commerce Veyton mal einen von ihnen erstellen Shop in einem Beitrag angeführt, der ziemlich viele JavaScript und Ajax Spielereien hatte, leider kann ich diesen über die Suche nicht wiederfinden, kann mal jemand helfen?
  14. Hallo, gibt es bereits eine Umsetzung eines Ajax-Menus für Veyton. Die Kunden finden es ziemlich lästig, dass immer erst die Hauptkategorie angeklickt werden muss und die komplette Seite neu lädt. Weitaus angenehmer und dem Stand der Technik entsprechend wäre ein Menü mit Ajax, damit nicht jedes Mal die ganze Seite neu geladen wird, wenn der Kunde in eine Unterkategorie wechseln möchte.
  15. Hallo XTC-Gemeinde, ich bin auf der Suche nach einer Artikelsuche u.a. mit folgendem Quelltext: var xajaxRequestUri="http://www.xyz.de/xtc/advanced_search.php"; var xajaxDebug=false; var xajaxStatusMessages=false; var xajaxWaitCursor=true; var xajaxDefinedGet=0; var xajaxDefinedPost=1; var xajaxLoaded=false; Die Suche ist stufenweise aufgebaut. Nach Auswahl einer Kategorie erscheint die nächste (relevante) Auswahl usw. Ich benötige dieses "Modul" und kann es nicht finden! Vielen lieben Dank Mario
  16. Hallo Community, ich komme einfach nicht weiter und hoffe Ihr könnt mir helfen. Es geht um eine Ajax Suche mit Dropdown Hier mein bisheriger Code: ajax.php <?php if (isset($_GET['id']) && $_GET['id'] != 'all' ) { $herst_id = (int)$_REQUEST['id']; $json = array(); //Verbindung zur Datenbank herstellen... $query = "select manufacturers_id, manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = " . $herst_id; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { array_push($json, array( 'oV' => $row['manufacturers_id'], 'oT' => $row['manufacturers_name'] )); } echo json_encode($json); } ?>[/php]script.js [code]$(function() { $('#hersteller').change(function(){ $.ajax({ url: ('ajax.php'), data: 'id=' + $(this).val(), type: 'GET', timeout: 2000, dataType: 'json', error: function() { alert('Error loading json data!'); }, success: function(json){ var output = ''; for (p in json) { output += '<option value=\"' + json[p].oV + '\">' + json[p].oT + '</option>\n'; } $('#typ').html(output); } }) }); });[/code]neuesuchbox.html [html]{literal} <script type="text/javascript" src="script.js"></script> {/literal} <label for="hersteller">Hersteller</label> <select name="hersteller" id="hersteller"> <option value="all">- alle -</option> <option value="1">Herrsteller 1</option> <option value="2">Herrsteller 2</option> <option value="3">Herrsteller 3</option> </select> <label for="typ">Typ</label> <select name="typ" id="typ"> <option value="all">- alle -</option> </select>[/html]Das ganze soll mehr oder weniger für eine spezielle suche genutzt werden. Den Produkten wurden noch zusätzliche Infos mitgegeben die durch diese suche gefiltert werden sollen. Mein Problem ist nun das ich keine [b]Daten aus der DB erhalte[/b] egal was ich bisher angestellt habe es kam nichts an . Vielleicht stehe ich ja auch nur auf dem Schlauch ! EDIT: Fehlermeldungen gibt es nur die eine "Error loading json data" Bitte um Hilfe. greets
  17. Hallo ich suche ein Modul oder sonstige Möglichkeit, Preise die durch Attribute verändert werden, sofort als richtigen Artikelpreis angezeigt zu bekommen. Beispiel ein Flyer 6 kostet 100 Euro in der Auflage 1000, jetzt soll der Kunde die Auflage auswählen können und der Preis soll natürlich bei Auflage 2000 gleich angezeit werden zB 130,-. Hat jemand einen Tipp? Gruß Bernd
  18. Hallihallöchen Ihr Lieben, Ich benutze xt:Commerce v3.0.4 SP2.1 und versuche gerade script.aculo.us einzubinden. Und zwar so: Alle script.aculo.us Dateien in das aktuelle Template/javascript, und im root/includes/header.php folgende Einträge: <script type="text/javascript" src="<?php echo 'templates/'.CURRENT_TEMPLATE.'/'; ?>javascript/prototype.js"></script> <script type="text/javascript" src="<?php echo 'templates/'.CURRENT_TEMPLATE.'/'; ?>javascript/scriptaculous.js"></script> soweit so gut. Jetzt bekomme ich leider folgende Fehlermeldung im Firebug: uncaught exception: script.aculo.us requires the Prototype JavaScript framework >= 1.5.0 Verstehe ich das richtung das xt.commerce nur die Version <1.5.0 zulässt? Oder habe ich ein Grundsätzliches Problem nicht verstanden, oder versteht sich der Shop nicht so gut mit script.aculo.us? THX
  19. Hallo, ich suche einen erfahrenen Programmierer der an einem XT-Commerce shop ein paar Sachen ändern sollte. (PHP und bischen AJAX). z.b. beim Artikel mit mehreren optionen/preisen, soll sich der Endpreis automatisch per AJAX ändern. Ansonsten noch ein paar andere Kleinigkeiten. Bitte nur melden wenn du eine Rechnung ausstellen kannst. Bei Interesse einfach melden MfG Artur
  20. Hi zusammen. Während der User den Shop besucht, wird die Session in der db hinterlegt. Jetzt hab ich mit Ajax ein Tool, mit dem beim Klick auf eine Versandart der Eintrag für diese Session "Upgedated" wird! D.h. beim Klick auf einen Radiobutton "merkt" sich das System, welche Versandart der User ausgewählt hatte, bevor er auch nur weiterklickt! Das Problem ist nur, wenn der Eintrag im value der Sessiontabelle ein update erfährt, geht für den User die Session verloren! Ich würde gerne wissen, was das veranlasst hat! Und wie kann ich das verhindern? Danke schonmal im Voraus. Michael
  21. Hi, kann man z.B. den Main Content von einem XTC Shop irgendwie per AJAX-Request herbekommen? Mir gehts darum dass ich nur bestimmte Teile eines vorhandenen Shops rausladen möchte (also nur den Quellcode) um die Daten weiterzuverwerten. Vielleicht sogar eine einfache Lösung per URL? Sowas wie index.php?section=main_content oder index.php?section=header etc... Gruß, darki
  22. Hallo Leuts, ich hab jetzt einige Zeit gesucht, aber nichts gefunden. Folgende Frage: Gibt es ein Modul, dass den Admin-User SOFORT (Ajax o.Ä.) benachrichtigt, wenn die Artikelanzahl bei 0 angekommen ist. Wenn zum Beispiel 1500 Artikel verfügbar sind, der Kunde aber 2000 in den Warenkorb legt... Für eine rasche Antwort wäre ich dankbar... Gruß Alex
  23. Hallo xt:C Gemeinde Gibt es ansatzweise ein Modul oder Snippet wo einer das Realisiert hat? Was ich möchte ist einfach, in der produtcs_info ein Bewertungssystem das auf Ajax Star Rating Bar basiert, sprich wo man einfach mit Sternen auswählen kann und das Produkt so bewertet.. Ich glaube ich hab sowas für xt:C schon mal gesehen wenn es mich nicht täuscht... MFG
  24. Eine neuer Status-Update. (Ich habe einen neuen Thread er?ffente, weil der erste schon etwas un?bersichtlich war.) Die Arbeit an xtc/AJAX ruhte etwas, geht aber wieder weiter. Das Form-Handling auf AJAX-Basis hatte sich als ziemliches Problem herausgestellt, vor allem auch deshalb, weil in einigen xtc-Formularen ein (verstecktes) Feld "action" verwendet wird, um die auszuf?hrende Option zu ?bergeben. Im nicht Nicht-AJAX-Betrieb st?rt das nicht weiter, aber da ich bei AJAX mir ja den Formular-Inhalt und die Zieladresse selbst auslesen muss, gab es das Problem, dass dieser Feldname "action" mit dem Attribut "action" des Formulars (also die Zieladresse der Daten) in Konflikt geriet. Beim Auslesen des "action"-Attributes des Formulares in Javascript wurde daher immer das Feld "action" als Objekt zur?ckgeliefert. (Das hat einige Zeit gedauert, bis mir das klar wurde...) Aber mittlerweile habe ich das mit den Formularen auch so weit im Griff. Apropos Javascript: Das Javascript-Modul f?r den AJAX-Support hat mittlerweile doch schon ca. 800 Zeilen erreicht... Darin enthalten ist aber auch schon der Code f?r eine AJAX-basierte intelligente Feldvalidierung, die ich mir auch vorgenommen habe, und auch der Code f?r einen verschiebbaren Warenkorb (wenn die Produktliste auf dem Bildschirm nach unten verschoben wird, soll ein Warenkorb mitwandern, damit man sieht, was man so bestellt). Die Feldvalidierung ist mit Daten in der DB hinterlegt und wird folgendes leisten: (Allen Funktionen gemeinsam ist, dass, wenn es f?r eine Eingabe mehrere Datens?tze gibt in der Datenbank gibt, diese Optionen in einer Auswahlbox unter dem Feld zur Auswahl angeboten werden. Man kann also durchaus nur Teile des Feldes (Plz, Blz) eingeben, und erh?lt dann die daf?r zutreffenden Optionen zur Auswahl.) Pr?fung der Vornamen - auf richtige Schreibweise und ?bereinstimmung von Namensgeschlecht (Herr Ingrid z.B. w?rde damit angemeckert). (Diese DB-Tabelle hat ca. 45.000 Eintr?ge, mit Namen aus aller Welt) Pr?fung der Postleitzahl (D-A-CH) - auf Existenz. Wird Sie gefunden, wird auch die Stadt und das Bundesland (f?r "D") im Formular gleich mit aktualisiert, sonst erfolgt eine Fehlermeldung. (Diese DB-Tabelle hat ca. 26.500 Eintr?ge) Pr?fung der Bankleitzahl - auf Existenz. Wird Sie gefunden, wird auch der Bankname im Formular gleich mit aktualisiert, sonst erfolgt eine Fehlermeldung. Pr?fung der Kontonummer (f?r "D") - auf Konformit?t mit den Pr?fziffernverfahren der Banken. Damit kann man die formale Richtigkeit der Kontonummern pr?fen. (Diese DB-Tabelle hat ca. 8.500 Eintr?ge) Der PHP-Teil dieser Validierung ist so weit fertig, der Javascript-Teil der Validierung muss noch ?berarbeitet werden. Aber das sieht schon sehr gut aus... ================================================================ Ich habe auch die Notwendigkeit zur Neuberechnung diverser Boxen weiter reduziert, indem diese nur dann angezeigt werden, wenn sie ben?tigt werden. Die Navigationsbox z.B. wird nur noch angezeigt, wenn eine Navigation stattgefunden hat usw.. Da kann man doch noch einiges reduzieren. ================================================================ Ich hoffe, im Laufe der Woche eine neue Version online stellen zu k?nnen, die auch das Formular-Handling nach AJAX-Art vollst?ndig abdeckt.
  25. AJAX ist ein Akronym f?r die Wortfolge Asynchronous Javascript And XML. Es bezeichnet ein Konzept der Daten?bertragung zwischen einem Server und dem Browser, welches es erm?glicht, dass die HTML-Seite nicht mit jeder HTTP-Protokoll-Anfrage komplett neu geladen werden muss. Das eigentliche Novum besteht in der Tatsache, dass nur gewisse Teile einer HTML-Seite sukzessive bei Bedarf nachgeladen werden. AJAX ist derzeit das "Hot-Topic" in der Web-Entwicklung. (Weitere Info dazu z.B. ?ber http://de.wikipedia.org/wiki/Ajax_(Programmierung) .) Nach einigen ?berlegungen zum Thema bin ich dann zu dem Ergebnis gekommen, dass die notwendigen ?nderungen in xtc, dank des "Smarty"-Template-Konzepts, erstaunlich moderat sein w?rden, und habe das mal implemetiert (mit xtc Version 2). (Mit osCommerce z.B. h?tte ich dieses Konzept nie verfolgen k?nnen, da damit, wegen der ?berall verstreuten HTML-Generierung, ein enormer Aufwand verbunden gewesen w?re. Ein Hoch auf "Smarty"! Daher funktioniert das Konzept auch nur im User-Bereich, nicht im Admin-Bereich, da der noch sehr "osCommerce"-ig ist.) Der mit der AJAX-Technik ?bertragene Text sollte die folgenden 10 Abschnitte enthalten: (Das sind m.E. alle Bereiche, die sich bei jeder Verarbeitung ?ndern k?nnen. Alle anderen Bereiche sind mehr oder weniger statisch!) (Die Bereichs-Namen m?ssen den in den Templates verwendeten "Smarty"-Namen f?r die Inhalte entsprechen.) Name --> Seiten-Bereich =================================================================================== navtrail --> Inhalt des oberen Navigationsbereichs box_CATEGORIES --> Inhalt des Kategorienbereichs (Kategorien-Box) box_WHATSNEW --> Inhalt des Neuigkeitenbereichs (Neuigkeiten-Box) box_REVIEWS --> Inhalt des Bewertungenbereichs (Bewertungen-Box) main_content --> Inhalt des mittleren Anzeigbereichs box_CART --> Inhalt des Warenkorbs (Warenkorb-Box) box_LOGIN --> Inhalt des Login-Bereichs (Login-Box) box_ADMIN --> Inhalt des Admin-Bereichs (Admin-Box) box_NOTIFICATIONS --> Inhalt des Benachrichtigungen-Bereichs (Benachrichtigungen-Box) box_TELL_FRIEND --> Inhalt des Empfehlen-Bereichs (Empfehlen-Box) (Wenn ?berhaupt verwendet.) Um AJAX-f?hig zu sein, muss die "index.html" des Templates so modifiziert werden, dass die zuvor genannten Bereiche f?r Javascript identifizierbar sind, da man mit der AJAX-Technik ja erreichen will, m?glichst kleine Bereiche auszutauschen. Das erreicht man dadurch, dass diese Bereiche in identifizierbare HTML-Elemente plaziert werden, diese m?ssen also einen Namen ("ID") erhalten. "{main_content}" ist i.d.R. schon in einen "TD"-Tag eingeschlossen, so dass darin nur der der Bereichs-ID (ID="Name") zu setzen ist. ("<TD ID="main_content" ....>") Die restlichen Elemente ("{$box_xxxxx}" und "{$navtrail}") m?ssen in einen "SPAN"-Tag eingeschlossen werden: {$Name} wird so zu <SPAN Id="Name">{$Name}</SPAN>. Beispiele: Navigation und Main-Content <span id="navtrail">{$navtrail}</span> <td id="main_content" class="tableBody" align="left" valign="top" width="61%">{$main_content}</td> Linke Spalte <span id="box_CATEGORIES">{$box_CATEGORIES}</span> <span id="box_SEARCH">{$box_SEARCH}</span> <span id="box_ADD_QUICKIE">{$box_ADD_QUICKIE}</span> <span id="box_INFORMATION">{$box_INFORMATION}</span> <span id="box_WHATSNEW">{$box_WHATSNEW}</span> <span id="box_AFFILIATE">{$box_AFFILIATE}</span> <span id="box_CONTENT">{$box_CONTENT}</span> <span id="box_REVIEWS">{$box_REVIEWS}</span> <span id="box_INFORMATION">{$box_INFORMATION}</span> <span id="box_SPECIALS">{$box_SPECIALS}</span> Rechte Spalte <span id="box_CART">{$box_CART}</span> <span id="box_LOGIN">{$box_LOGIN}</span> <span id="box_INFOBOX">{$box_INFOBOX}</span> <span id="box_ADMIN">{$box_ADMIN}</span> <span id="box_BESTSELLERS">{$box_BESTSELLERS}</span> <span id="box_ADMIN">{$box_ADMIN}</span> <span id="box_NOTIFICATIONS">{$box_NOTIFICATIONS}</span> <span id="box_TELL_FRIEND">{$box_TELL_FRIEND}</span> Im "AJAX-Modus" wird von xtc eine Seite zur?ckgegeben, die den HTML-Text jedes ber?cksichtigten Bereichs (wenn er denn erstellt wurde), eingeschlossen in das Label "#Name#" (wobei "Name" einer der vorstehenden Namen ist). (box_LOGIN wird z.B. nur bis zum Login erstellt, box_ADMIN erscheint nur nach einem Admin-Login.) Beispiel: #box_TELL_FRIEND#HTML-Text f?r die TELL_FRIEND-Box#box_TELL_FRIEND#. ?ber ein Javascript-Modul wird der mit AJAX-Technik ?bertragene Text anhand der Abschnittsmarken ("#Name#") getrennt, der entsprechende HTML-Text wird dann in das entsprechende Seiten-Element (mit "ID="Name") der xtc-Seite eingef?gt. =============================================================================================== Die ?nderungen in xtc sind ausserordentlich moderat, und betreffen die folgenden Module: In der "includes/application_top.php" wird - definiert, ob ?berhaupt mit AJAX gearbeitet werden soll - (einmalig) gepr?ft, ob der Client-Browser Javascript aktiviert hat (Wenn nicht, wird keine AJAX-Verarbeitung durchgef?hrt.) - gepr?ft, ob die aktuelle Anforderung an xtc im AJAX-Modus ausgef?hrt werden soll (Der Parameter "ajax=true" ist vorhanden). - festgelegt, welche HTML-Bereiche der Seite mit AJAX bearbeitet werden sollen ("define('AJAX_DATA_ELEMENTS', "navtrail box_CATEGORIES box_WHATSNEW box_REVIEWS main_content box_CART box_LOGIN box_ADMIN box_NOTIFICATIONS box_TELL_FRIEND");") In der "inc/xtc_href_link.inc.php" wird - im AJAX-Modus der Link in eine Javascript-Routine eingeschlossen. Statt "http://www.meinserver.de/index.php?...." wird dann ein Link der Form javascript:make_AJAX_Request("http://www.meinserver.de/index.php?....&ajax=true") generiert. In der "includes/header.php" wird - wird das f?r den AJAX-Suport notwendige Javascript-Modul in die Seite eingebaut function make_AJAX_Request(url) --> Kennzeichnet den Link als "AJAX"-Link und sendet eine asynchrone Anforderung an den Server function setContents() --> Empf?ngt die Daten asynchron vom Server, splittet den Inhalt in die einzelnen Bereiche, und schreibt diese (HTML-)Daten in den zugeh?rigen Bereich des HTML-Dokuments. ("document.getElementById("ID-Name").innerHTML = HTML-Text") function extractText(textstring, delimiter) --> Extrahiert einen mit "#delimiter#" eingeschlossenen Text aus einem Gesamttext. In der "includes/classes/smarty_2.6.2/Smarty.class.php" wird - an den Anfang der "function fetch" Zusatzcode eingef?gt (nur ca. 25 Zeilen!), der im AJAX-Modus nur den HTML-Code aller f?r die AJAX-Verarbeitung definierten HTML-Module ("define('AJAX_DATA_ELEMENTS'....") ausgibt. Das zeitaufw?ndige Kompilieren der gesamten "index.html" entf?llt dann! (Die ?nderung der "Smarty.class.php" hat mir eigentlich nicht so gefallen, weil das eine entsprechende ?nderung in evtl. neuen "Smarty"-Versionen erfordert. Die Alternative w?re aber eine ?nderung in "zig" xtc-PHP-Modulen gewesen. Da diese ?nderung an einer Stelle konzentriert und zudem sehr moderat ist, habe ich mich dann doch daf?r entschieden.) Was hat man aber nun davon??? Zum Einen wird die Verabeitung etwas schneller werden, da nicht mehr die gesamte "index.html" von "Smarty" gerendert werden muss. Zum Anderen (und das ist wirklich spektakul?r!) wird die Seite bei einem "Klick" im Browser nicht gel?scht und komplett wieder aufgebaut, sondern es werden nur die ge?nderten Teile der HTML-Seite aktualisiert. Das Browserbild bleibt bestehen und flackert nicht mehr! =============================================================================================== Die Implemtierung ist recht weit fortgeschritten, muss aber noch ausf?hrlicher getestet werden. Wenn gen?gend allgemeines Interesse daran besteht, w?rde ich das Ganze als Contribution dokumentieren und bereitstellen. Bei Interesse also bitte eMail an mich.
×
×
  • Create New...