WebsiteBaker Support (2.8.x) > Diskussion über WB (closed)
Alle Section_IDs einer Seite auflisten
Waldschwein:
Hallo!
Wahrscheinlich habe ich sämtliche Scheuklappen aufgesetzt und das Problem ist eher mangelndes PHP-/SQL-Verständnis als WB, aber ich möchte trotzdem einmal fragen.
Ich will im Frontend mit den Section_IDs und dazugehörigen Blöcken arbeiten. Das ganze erst einmal in PHP, HTML / JS kommt später.
Die Page_ID bekommt man ja recht leicht über eine Konstante, doch Blöcke und Section IDs sind nicht zuverlässig vorhanden (man könnte zwar jQuery herumbiegen und es über die Section-Anchor auslesen, aber nun gut, das ist ziemlich unzuverlässig, gerade weil die Optionen eine Änderung des Prefix bieten...)
Folgender Code ist schon einmal da:
--- Code: ---<?php $sql = 'SELECT `section_id`, `block`, `module` FROM `'.TABLE_PREFIX.'sections` WHERE `page_id` = '.$page_id;
$sect_set = $database->query($sql);
$section_id = $sect_set->fetchRow(); ?>
--- End code ---
Die Array-Ausgabe (unter print_r) sieht dann so aus
--- Quote ---Array ( [0] => 8 [section_id] => 8 [1] => 1 [block] => 1 [2] => wysiwyg [module] => wysiwyg )
--- End quote ---
Soweit so gut, gäbe es nicht mehrere Sections auf dieser Seite...
Warum so viel Aufwand?
Ganz einfach, es soll ein Frontend Edit Modul werden, und leider macht hier jedes Modul was es soll. WYSIWYG kann manchmal so aussehen, Topics anders, Form ganz anders. Daher muss man sowohl wissen, welcher Modul-Typ der jeweiligen Section zugeordnet ist, den Block (wäre sinnvoll, einfach dass man diesen hat) und eben auch die Section selbst für URL-Links usw.
Was meine Frage einfach ist:
Wie bekomme ich die Section_ID im Frontend (natürlich nur, wenn jemand eingeloggt ist & Rechte hat) so erhalten, dass ich mehrere Links auf einer Seite setzen kann, wo die jeweils richtige Section_ID ermittelt wird?
Ich habe einen Screenshot angehängt der erklären soll, wie es gemeint ist.
Dass das Form-Modul so etwas "spezielles" braucht ist klar, aber das kann später evtl. auch einmal das Modul selbst ansteuern.
Die URLs / Buttons werden dann mit jQuery an die richtige Stelle platziert, das ist nicht das Problem. Ebenso ist es kein Problem, dass später ja "eigentlich" das ganze Backend geladen wird - es wird einfach alles ausgeblendet, was nicht gebraucht wird in einem Overlay.
Gruß Michael
[gelöscht durch Administrator]
susigross:
Du meinst auf dem Server oder auf dem Client soll die Abfrage laufen?
Server ist ja einfach, in der DB die Tabelle sections where page_id = aktuelle Seite abfragen?
Waldschwein:
Ja, das soll auf dem Server sein - auf dem Client ginge es ja mit jQuery, wenn einige Bedingungen zutreffen (Anker gesetzt & nicht verändert usw.).
Wenn ich aber per select `section_id`FROM `sections`WHERE `page_id`=$page_id anrufe wird zwar (s.o.) eine Section der Seite richtig aufgelistet, aber eben nicht die restlichen.
Habe ich da evtl. einen Denkfehler in den PHP-Arrays? Ich gehe halt aus, wenn eine Seite sagen wir 3 Sections hat, dass die auch dann alle übergeben werden, und man (s.o.) letztendlich ansteuern kann.
Gruß Michael
DarkViper:
erst mal nachdenken:
Was ist eine Tabelle?
Was liefert eine SQL-Abfrage?
Was liefert fetchROW? (mit Betonung auf Row) ?
beantworte Dir die 3 Fragen und Du hast die Lösung.
susigross:
Dein Code
--- Code: ---select `section_id`FROM `sections`WHERE `page_id`=$page_id
--- End code ---
sollte eigentlich immer alle sections der Seite liefern.
Hast du noch ein limit drin oder gehst du das Ergebnis nicht in einer Schleife durch?
Navigation
[0] Message Index
[#] Next page
Go to full version