Eine erste spontane Idee: Im Falle einer Fehlermeldung macht das System erst einen "Redirect" auf den REFERRER.... In dem Beispiel wäre das wohl die erweiterte Suchmaske. "Info"- und "Success"-Meldungen laufen durch....
Eigentlich müsste man dem "..\includes\modules\error_handler.php" doch bloß beibringen, hierhin "$module= $module_smarty->fetch(CURRENT_TEMPLATE.'/module/error_message.html');" geht´ste nich mehr, sondern läßt die TemplAnzige so wie sie ist!? Haken: Weder durchdacht noch geprüft ... von Lösung ganz zu schweigen! Nur: Datt Dingens "error_message.html" muss weg!!!
Nach Installation vom aktuellen Modul bekomme ich eine Fehlermeldung. Cache geleert. PHP: 2013-04-4 13-51-35 (79.228.253.140)WARNING(2): Missing argument 1 for messageStack_ORIGIN::output(), called in /kunden/xxxxxx/webseiten/testshop/user_classes/overloads/Smarty/pt_jqmessages_smarty.php on line 35 and definedin /kunden/xxxxxx/webseiten/testshop/includes/classes/message_stack.php:63Backtrace: #0 (#messageStack_ORIGIN) output called at [/kunden/xxxxxx/webseiten/testshop/user_classes/overloads/Smarty/pt_jqmessages_smarty.php:35]#1 (#pt_jqmessages_smarty) fetch called at [/kunden/xxxxxx/webseiten/testshop/user_classes/overloads/Smarty/pt_snippets_smarty.php:20]#2 (#pt_snippets_smarty) fetch called at [/kunden/xxxxxx/webseiten/testshop/user_classes/overloads/Smarty/wrapShopPageParameter_Smarty.inc.php:20]#3 (#wrapShopPageParameter_Smarty) fetch called at [/kunden/xxxxxx/webseiten/testshop/includes/modules/address_book_details.php:245]#4 include called at [/kunden/xxxxxx/webseiten/testshop/address_book_process.php:320]
Das Problem ist, dass das Programm zu diesem Zeitpunkt schon im "falschen" Modul ist. Das war schon die richtige Idee, aber das ist so saumäßig komplex, die Fehlermeldungen bei diesem Redirect zu bewahren, dass ich das bisher noch nicht geschafft habe. Das Problem dabei ist: das Programm, zu dem redirected wird, macht ja seine eigene Fehlererkennung, und löscht somit die Meldungen aus dem vorigen Schritt.... Muss ich noch weiter nachdenken....
Scheint zu funkonopeln - Danke! Mal´ne (blöde) Frage: Wieso "müssen" Alert-Boxen eigentlich anders gestylt sein? Kann doch dem User egal sein welche Technik die Meldung auf´n Schirm bringt - oder?
Easy "Abhilfe" bis zur Lösung: Leere Konstante übergeben ==>> keine Meldung! Nicht schlecht programmiert!
Ich weiss nicht ob es da einen Zusammenhang gibt? Mit dem "Merkzettel" ist es genauso - leerer Merkzettel erzeugt ´ne Contentseite <grrrrrr> - jQuery-Meldung würde vollkommen reichen.
Ich würde sagen, z.B. so wie jetzt die "jInfo-Box" .... ob "jQuery-Information" oder "Alert-Hinweis" ==> Info ist Info!?
Das kann man über CSS lösen. Eine angepasste "templates\EyeCandy\usermod\css\\jNotify.jquery.css". (Schau Dir die "#popup_xxxx"-Selektoren an, das müsstest Du in Deinem CSS analog ändern.) Damit kommt dann so was 'raus: PHP: #popup_container,#jError,#jInfo,#jSuccess { background-position: 15px 10px; background-repeat: no-repeat; position:absolute; padding:10px 10px 45px 50px !important; margin:15px; z-index:9999; cursor: pointer; border-radius:5px; -moz-border-radius : 5px; -webkit-border-radius:5px;}#popup_container,#jInfo { background-color: #D8E6FC; background-image: url('img/info.png'); color:#35517c; border:1px solid #a7c3f0;}#jInfo a { color:#35517c !important; text-decoration:none;}#jSuccess { background-color: #E6EFC2; background-image: url('img/success.png'); color:#264409; border:1px solid #C6D880;}#jSuccess a { color:#264409 !important; text-decoration:none;}#jError { background-color: #FBE3E4; background-image: url('img/error.png'); color:#8a1f11; border:1px solid #FBC2C4;}#jError a { color:#8a1f11 !important; text-decoration:none;}.jNotify_header { border-bottom: 1px solid; font-weight: bold; margin-bottom: 5px;}#jError .jNotify_header{ color:red;}#popup_title,#jInfo .jNotify_header{ color:blue;}#jSuccess .jNotify_header{ color:green;}#jOverlay { width:100%; height:100%; position:fixed; top:0; left:0; z-index:9998; /* IE 8 */ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* IE 5-7 */ filter: alpha(opacity=50); /* Netscape */ -moz-opacity: 0.5; /* Safari 1.x */ -khtml-opacity: 0.5; opacity:0.5 !important;}.jNotify_close { background: url("img/close.png") no-repeat scroll 0 50% transparent; float: right; font-size: 10px; margin-top: 10px; padding-left: 30px; text-align: center; width: 40px; position: absolute; right: 0px; margin-right: 10px;}#popup_title { font-size: 16px !important; margin: 0px; padding: 0px;}#popup_container { padding-bottom: 10px !important;}#popup_panel { text-align: right; padding-top: 10px;}/*#popup_container { font-weight:bold; text-align:left; font-size: 12px; width: 364px; background: #F3F3F3; border:solid 1px #dedede; border-bottom: solid 2px #456FA5; border-radius: 5px; color: black;}#popup_message { padding-top: 15px; padding-left: 15px;}#popup_panel { text-align: left; padding-left:15px; padding-bottom: 10px;}#popup_container input { margin-top:20px; margin-right:10px;}*/
Dann mach es doch einfach... Das CSS kann ja jeder nach seinem Gusto anpassen. Hast mal 'nen Beispiel?
Ich habe das noch einmal überarbeitet und verbessert. Bisher wurden die Gambio- und die Javascript-"alert"-Meldungen über 2 unterschiedliche jQuery-Plugins angezeigt. Das wurde jetzt so geändert, dass auch die Javascript-"alert"-Meldungen über das jQuery-Modul der Gambio-Meldungen angezeigt werden, so dass das kompakter und konsistent wurde. Ein großer Vorteil davon ist, dass man jetzt auch Javascript „alert“-Meldungen die Markierung „@error@“ oder „@info@“ oder „@success@“ voranstellen kann, so dass auch diese entsprechend ihrem Inhalt formatiert angezeigt werden können. Diejenigen, die das Modul schon verwenden, müssen folgende Dateien löschen: templates\EyeCandy\usermod\javascript\Global\jNotify.jquery.alerts.js templates\EyeCandy\usermod\javascript\Global\jNotify.alert_confirm.parameters.js Der Inhalt von "templates\EyeCandy\usermod\css\jNotify.jquery.css" muss mit dem Inhalt von "templates\EyeCandy\usermod\css\jNotify.jquery.css.txt" abgeglichen werden
Deine Fehlerbehandlung zeigt alle Probleme an, selbst die "NOTICE", die Gambio eigentlich deaktiviert hat..... Ich habe die Ursache der Meldung aber entfernt.