Moin Moin Liebe Coder,
Ich hab ein kleine Problem und ich hoffe Ihr könnt mir dabei helfen.
Vorab zum Sachverhalt:
Ich schreibe für das osc4pragmamx Modules, basierend auf den osCommerce Shop, eine Customer Account Erweiterung.
Diese Erweiterung soll in das Your Account Modules des PragmaMX CMS eingebunden werden.
Das klappt auch alles.
Nun schreibe ich an einen Wunschzettel, wie er auch bei Alternate im Kundenkonto zu finden ist.
Der Wunschzettel wird über ein jQuery Sub-Tab aufgerufen.
Da ich jetzt aber schon in der CA Erweiterung drei Tabebenen habe, wollte ich jetzt nicht noch eine Tabebene in den Wunschzetteln einbauen und habe mich nach einer Alternative umgesehen:
Alles anzeigen
Das Script wird in der Wunschzettel Hautseite ausgeführt und dient dazu bestimmt Links innerhalb des Wunschzettel Tabs, bei Klick, in den Tab zu laden.
das klappt auch alles soweit wie es soll, bis auf ein kleines Problem.
Im Wunschzettel wird eine Funktion, die Identisch ist mit der tep_draw_button des osCommerce ist, beim Laden der Verlinkten Seiten ignoriert (siehe Anhänge Löschen Buttons):
Die Funktion:
Alles anzeigen
Wenn ich aber die jQuery UI Buttons normal mit den
Und den dazugehörigen jQuery Code setze, werden diese Buttons auch mit dem AJAX Code korrekt geladen, wie auf den Screenshots zu sehen ist (die drei Buttuns über der Tabelle).
Gebt mir mal einen Denkanstoß wie ich es auch ohne das AJAX Sript lösen könnte oder wie ich das Problem beheben kann.
Und mit dem ModalDialog zu arbeiten, um das Problem zu Umgehen ist auch nicht die schönste Variante.
Da ich bei den Gespeicherten Warenkörben schon mit Dialogboxen gearbeitet habe und diese sollten auch nach Möglichkeit dem AJAX Model weichen.
MfG
Peter
Ich hab ein kleine Problem und ich hoffe Ihr könnt mir dabei helfen.
Vorab zum Sachverhalt:
Ich schreibe für das osc4pragmamx Modules, basierend auf den osCommerce Shop, eine Customer Account Erweiterung.
Diese Erweiterung soll in das Your Account Modules des PragmaMX CMS eingebunden werden.
Das klappt auch alles.
Nun schreibe ich an einen Wunschzettel, wie er auch bei Alternate im Kundenkonto zu finden ist.
Der Wunschzettel wird über ein jQuery Sub-Tab aufgerufen.
Da ich jetzt aber schon in der CA Erweiterung drei Tabebenen habe, wollte ich jetzt nicht noch eine Tabebene in den Wunschzetteln einbauen und habe mich nach einer Alternative umgesehen:
Quellcode
- [syntax="javascript"]
- <script type="text/javascript">
- /* <![CDATA[ */
- // code direkt nach seitenaufbau starten
- $(document).ready(function() {
- // allen links im div 'navigation' & 'content' eine click()-funktion zuweisen.
- // es wird auch auf alle links von der dynamisch nachgeladenen
- // seiten reagiert (solange die seiten in das content-div geladen werden)!
- $(".accountWishListLinks a").live("click",function() {
- // das link-ziel jeweils auslesen & zwischenspeichern
- var pageToLoad = $(this).attr("href");
- // dem div 'content' den inhalt der aufgerufenen seite zuweisen
- $(".accountWishListContentContainer").load(pageToLoad);
- // wichtig! sonst wird der a-link im browser aufgerufen!
- return false;
- });
- });
- /* ]]> */
- </script>
- [/syntax]
Das Script wird in der Wunschzettel Hautseite ausgeführt und dient dazu bestimmt Links innerhalb des Wunschzettel Tabs, bei Klick, in den Tab zu laden.
das klappt auch alles soweit wie es soll, bis auf ein kleines Problem.
Im Wunschzettel wird eine Funktion, die Identisch ist mit der tep_draw_button des osCommerce ist, beim Laden der Verlinkten Seiten ignoriert (siehe Anhänge Löschen Buttons):
Die Funktion:
Quellcode
- [syntax="php"]
- ////
- // Output a jQuery UI Button
- function osc4pmx_draw_button($title = null, $icon = null, $link = null, $priority = null, $params = null) {
- static $button_counter = 1;
- $types = array('submit', 'button', 'reset');
- if ( !isset($params['type']) ) {
- $params['type'] = 'submit';
- }
- if ( !in_array($params['type'], $types) ) {
- $params['type'] = 'submit';
- }
- if ( ($params['type'] == 'submit') && isset($link) ) {
- $params['type'] = 'button';
- }
- if (!isset($priority)) {
- $priority = 'secondary';
- }
- $button = '<span class="tdbLink">';
- if ( ($params['type'] == 'button') && isset($link) ) {
- $button .= '<a id="tdb' . $button_counter . '" href="' . $link . '"';
- if ( isset($params['newwindow']) ) {
- $button .= ' target="_blank"';
- }
- } else {
- $button .= '<button id="tdb' . $button_counter . '" type="' . osc4pmx_output_string($params['type']) . '"';
- }
- if ( isset($params['params']) ) {
- $button .= ' ' . $params['params'];
- }
- $button .= '>' . $title;
- if ( ($params['type'] == 'button') && isset($link) ) {
- $button .= '</a>';
- } else {
- $button .= '</button>';
- }
- $button .= '</span><script type="text/javascript">$("#tdb' . $button_counter . '").button(';
- $args = array();
- if ( isset($icon) ) {
- if ( !isset($params['iconpos']) ) {
- $params['iconpos'] = 'left';
- }
- if ( $params['iconpos'] == 'left' ) {
- $args[] = 'icons:{primary:"ui-icon-' . $icon . '"}';
- } else {
- $args[] = 'icons:{secondary:"ui-icon-' . $icon . '"}';
- }
- }
- if (empty($title)) {
- $args[] = 'text:false';
- }
- if (!empty($args)) {
- $button .= '{' . implode(',', $args) . '}';
- }
- $button .= ').addClass("ui-priority-' . $priority . '").parent().removeClass("tdbLink");</script>';
- $button_counter++;
- return $button;
- }
- [/syntax]
Wenn ich aber die jQuery UI Buttons normal mit den
Und den dazugehörigen jQuery Code setze, werden diese Buttons auch mit dem AJAX Code korrekt geladen, wie auf den Screenshots zu sehen ist (die drei Buttuns über der Tabelle).
Gebt mir mal einen Denkanstoß wie ich es auch ohne das AJAX Sript lösen könnte oder wie ich das Problem beheben kann.
Und mit dem ModalDialog zu arbeiten, um das Problem zu Umgehen ist auch nicht die schönste Variante.
Da ich bei den Gespeicherten Warenkörben schon mit Dialogboxen gearbeitet habe und diese sollten auch nach Möglichkeit dem AJAX Model weichen.
MfG
Peter
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von BdMdesigN ()