Pluginentwicklung - verschwundenes online-icon

Gesperrt
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Pluginentwicklung - verschwundenes online-icon

Beitrag von rethus »

Ich entwickele gerade ein Plugin, welches eine Produktmatrix abbildet (also so, wie der Produktvergleich bei Idealo http://www.idealo.de/preisvergleich/Com ... 88943.html, dass man im Vergleich dann nicht gewünschte Produkte als Spalte entfernen kann.

Die Matrix ist dabei 100% dynamisch erstellbar.. will heißen, die erste Spalte gibt ja an, welche eigenschaft (z.B. B/H/T) das Produkt hat, und danach die Spalten sind ja die Produkte, welche dann die werte der Produkte enthalten (z.B. 20/30/40).

Zudem kann man die Produkt-Eigenschaften zu logischen Grupper bündeln. (Also z.B. Hardware, Software etc.)
Lange Rede kurzer Sinn...

Meine Produktgruppen bekomme ich im Navibereich angezeigt. Dort sollte auch das Icon für das Online- und Offlineschalten des Eintrags erscheinen. (siehe Bild:)
Bild

Nun das Phänomen:
Wenn der Eintrag offline ist, sehe ich das den schwarzen Monitor (für offline), aber wenn ich auf online gehe, dann verschwindet das Icon.... Schaue ich in den Quelltext, ist das image (online.gif) schon da, aber es steht auf (style="display:none") [ kann ich mit dem firebug erkennen.
Rufe ich den Link zur Grafik via Firebug auf, erscheint auch die richtige Grafik.
Nun meine Frage: Wieso wird die Grafik auf display disabled gesetzt. Im Code ist nichts dergleichen zu sehen?

Code für den Icon-Bereich:

Code: Alles auswählen

 // Produktgruppe ausgeben
        $ui = new UI_Menu();
        $pm_bundle->query("SELECT * FROM ".$pm_bundle->name." ORDER BY bu_pos, bundle");
        while ($pm_bundle->next_record())
        {
                $i++;
                $id             = $pm_bundle->f("bu_id");
                $bname          = $pm_bundle->f("bundle");
                $beschr         = $pm_bundle->f("bu_desc");
                $bu_status      = (int)$pm_bundle->f("bu_status");
                $bu_sort        = (int)$pm_bundle->f("bu_pos");

                if($bu_status==1) $bu_statusus ="online"; else $bu_statusus ="offline";
                $bu_status_txt 	= i18n("Produktgruppe ist momentan $bu_statusus");
                $bu_content_txt = i18n("Produkt eingeben");

                $oLink = new cHTMLLink;
                $oLink->setMultiLink($area, "", $area, "");
                $oLink->setCustom("do", $do);
                $oLink->setCustom("bu_status", $bu_status);

                if($do=="new_bundle"){
                        $sEditTitle = i18n("Produktgruppe anlegen");
                }else{
                        $sEditTitle = i18n("Produktgruppe bearbeiten");
                        // id nur übergeben, wenn Datensatz editiert wird.
                        $oLink->setCustom("bu_id", $id);
                }
                        $status = new Link;
                        $status->setMultiLink("product_matrix","","product_matrix","");
                        $status->setCustom("do","status");
                        $status->setCustom("bu_id","$id");
                        $status->setCustom("bu_status", $bu_status);
                        $status->setCustom("bundle", $bname);
                        $status->setAlt("$bu_status_txt");
                        $status->setContent('<img src="'.$cfg['path']['images'].$bu_statusus.'.gif" border="0" title="'.$bu_status_txt.'" alt="'.$bu_status_txt.'">');

						$content = new Link;
                        $content->setMultiLink("product_matrix","","product_matrix","");
                        $content->setCustom("do","product");
                        $content->setCustom("bu_id","$id");
                        $content->setAlt("$bu_content_txt");
                        $content->setContent('<img src="'.$cfg['path']['images'].'isstart1m.gif" border="0" title="'.$bu_content_txt.'" alt="'.$bu_content_txt.'">');


                        $edit = new Link;
                        $edit->setMultiLink("product_matrix","","product_matrix","");
                        $edit->setCustom("do","$do");
                        $edit->setCustom("bu_id","$id");
                        $edit->setCustom("bu_status", $bu_status);
                        $edit->setAlt($sEditTitle);
                        $edit->setContent('<img src="'.$cfg['path']['images'].'but_edit.gif" border="0" title="'.$sEditTitle.'" alt="'.$sEditTitle.'">');

                        $sDelTitle = i18n("Produktgruppe löschen");
                        $sDelete = '<a title="'.$sDelTitle.'" href="javascript://" onclick="showDelMsg('.$id.',\''.addslashes($bname).'\',\'del_bundle\')"><img src="'.$cfg['path']['images'].'delete.gif" border="0" title="'.$sDelTitle.'" alt="'.$sDelTitle.'"></a>';

                $ui->setTitle($i,$bname);
                $ui->setLink($i,$oLink);
                $ui->setImage($i, "images/spacer.gif");
                $ui->setActions($i, 'bu_content', $content->render());
                $ui->setActions($i, 'bu_statusus', $status->render());
                $ui->setActions($i, 'bundle_edit', $edit->render());
                $ui->setActions($i, 'delete', $sDelete);
                // Nur einmal ausführen
                if($i==1)
                {
                        $addLink = new Link;
                        $addLink->setMultiLink($area, "", $area, "");
                        $addLink->setCustom("do", "new_bundle");
                        $addLink->setContent("<img src=\"plugins/product_matrix/images/chart_organisation_add.png\" border=\"0\" alt=\"Neue Produktgruppe anlegen\" title=\"Neue Produktgruppe anlegen\"> Neue Produktgruppe anlegen");
                        $liste_1="<table width=100% class='table'>
                                <thead>
                                        <tr>
                                                <td class='foldingrow' style='font-weight:bold;color:#fff;text-align:center'>
                                                ".$addLink->render()."
                                                </td>
                                        </tr>
                                        <tr><td class='foldingrow'><b>$sEditTitle</b></th></tr>
                                </thead></table>";
                }
                $liste = $liste_1.$ui->render(false);
                $page->setContent($liste);
        }
                $page->render();
Das ist der Quelltext aus dem Firebug für den Bereich des Bildes:

Code: Alles auswählen

<td nowrap="nowrap">
<a href="javascript:conMultiLink('right_top', 'main.php?area=product_matrix&frame=3&action=&do=status&bu_id=5&bu_status=1&bundle=Fonds&contenido=fe91e2d2e3e30afcb142bfcc25681a63', 'right_bottom', 'main.php?area=product_matrix&frame=4&action=&do=status&bu_id=5&bu_status=1&bundle=Fonds&contenido=fe91e2d2e3e30afcb142bfcc25681a63')" title="Produktgruppe ist momentan online" alt="Produktgruppe ist momentan online">
<img border="0" alt="Produktgruppe ist momentan online" title="Produktgruppe ist momentan online" src="images/online.gif" style="display: none;"/></a>
</td>
Woher kommt das display:none? Gibts da ne Contenido-Interne Regel?
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Pluginentwicklung - verschwundenes online-icon

Beitrag von Oldperl »

Hallo rethus,

nein das kommt nicht von Contenido. In der Klasse Link wird bei render() nur dein mit setContent() gesetzter Inhalt des Links dargestellt, jedoch keinerlei Bearbeitung desselben vorgenommen.
Beim Überfliegen deines Quelltextes konnte ich dort auch keinen offensichtlichen Grund finden wo dieser Inlinestyle herkommt. :roll:
Da musst du wohl mal debuggen.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Pluginentwicklung - verschwundenes online-icon

Beitrag von rethus »

Hallo Oldperl,
dass ist auch was mich wundert, denn nehme ich eine andere Grafik (also irgend was anderes als online.gif), wird dass dann auch angezeigt.

Habe testweise mal anstatt online.gif article.gif genommen. Wird angezeigt.

Code: Alles auswählen

if($bu_status==1) $bu_statusus ="article"; else $bu_statusus ="offline";
....
....
.....
 $status->setContent('<img src="'.$cfg['path']['images'].$bu_statusus.'.gif" border="0" title="'.$bu_status_txt.'" alt="'.$bu_status_txt.'">');

Er setzt ja den Bezeichner der Grafik bei mir so zusammen, wie oben im Code gezeigt...
Und dass macht mich fertig... ich wüsste nicht woran das liegen soll. Warum da auf einmal die Grafik unsichtbar ist.. und auch nur die mit dem Dateinamen "online" Das ding ist, sobald online im Dateinamen vorkommt, geht es nicht mehr (hab es mal mit online_off.gif versucht.

Deshalb meineich, ob da vielleicht der begriff online irgendwie manipuliert wird.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Pluginentwicklung - verschwundenes online-icon

Beitrag von rethus »

Neuigkeiten von der Front. Gerade fällt mir auf, dass das gleiche Phänomen bei der Artikelübersicht ist.
Das Icon ist da, wird aber auf display:none gesetzt.

Habt Ihr da auch Probleme mit?

Ich hab in der Artikelübersicht nur noch dublizieren, einfrieren, wiedervorlage, löschen
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Pluginentwicklung - verschwundenes online-icon

Beitrag von Dodger77 »

Bitte schau dir den Quelltext auch nochmal direkt an, also nicht per Firebug. Und vielleicht auch mal mit einem anderen Browser. Firebug berücksichtigt da auch Änderungen, die per Javascript, Userstyles, Userscripts (z.B. Greasemonkey) oder einem Plugin (z.B. Adblock) durchgeführt werden.
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Pluginentwicklung - verschwundenes online-icon

Beitrag von rethus »

Dodger77 - Du bist meine Rettung. :idea: Hab ich gar nicht dran gedacht.
Schuld ist das Addblock-Plugin von Firefox.
Nachdem ich es deaktiviert habe, erscheint das Icon wieder überall.

Danke!
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Gesperrt