Willkommen im neuen Forum von concrete5.de.
Die Anmeldung ist ab dem 15.10.2020 nur noch mit E-Mail Adresse und Passwort möglich. Eine Anmeldung mit Benutzername ist nicht mehr möglich.
Diese Nachricht löschen.
Anhang entfernen?
Zurück zur Themenliste
U
uli 31.01.2013 09:43
Standards auf Seitentypen einrichten ? Gelöst
Hi,
wenn man diverse Blöcke mit der Option "Einrichten auf Unterseiten" installiert, - was genau passiert da mit diesem Block welchen man mit dieser Option vorher schon auf anderen Seiten eingerichtet hat?
Die werden dann nochmals "installiert" ? Muss man dabei deshalb das Häkchen für diese Unterseiten rausnehmen?
Ist das ein Bug ?
LG
R
Remo 31.01.2013 11:36
concrete5 prüft die Blöcke nicht, wäre auch gar nicht so einfach wie man meint. Bei einem Inhaltsblock wäre ein solcher Vergleich noch einfach, jedoch gibt's einige Blöcke wo man viele Optionen hat, manche auch dynamisch. Diese zu vergleichen ist ziemlich kompliziert und fehleranfällig.
concrete5 versucht deswegen gar nicht zu prüfen was du schon auf den Seiten selber eingefügt hast.
Ich empfehlen deswegen immer, dass man die "Standards" am Anfang definiert und erst dann die Seiten erstellt. Dadurch werden die Blöcke auch sauber untereinander verknüpft. Hast du die Blöcke so verteilt, erkennt concrete5 auch was schon auf den Unterseiten eingerichtet ist.
Ein Bug ist dies aus meiner Sicht nicht. Wenn du manuell etwas machst und damit die Logik von den Standards umgehst, dann sind solche Problem meiner Meinung nach nicht unerwartet.
U
uli 31.01.2013 12:50
Hi,
ok, - Danke. Dann werd ich das in Zukunft nicht mehr wie bisher nutzen.
Ich hab "damit" auch zum wiederholten mal Probleme. Diesmal ist es leider kritisch(er). Und da bin ich nicht der Einzige. Im offiz. C5 Forum gibts mehrere Beiträge dazu:
Fatal error: Call to a member function getBlockTypeHandle() on a non-object in D:\xampp\htdocs\zittier\concrete\core\libraries\block_view_template.php on line 41
In meinem Fall liegt das wohl daran, das ich Blöcke aus der Zwischenablage in die Seitentypen als Standard eingefügt habe und später die Blöcke aus der Zwischenablage gelöscht habe?
Ich bin mir aber nicht sicher, was nun wirklich der Grund war. Vielleicht hab ich auch die echte Referenz für diese Blöcke gelöscht, - da das Einfügen über die Standardseiten diese eben nochmals eingefügt hat - und ich "beide" später sicher verwechseln konnte (beim Löschen).
Es gibt die Info im offiz. Forum per SQL:
UPDATE BlockTypes SET btID=100 WHERE btHandle='core_scrapbook_display';
das zu "beheben".
Aber das löscht bei mir aktuell zu viel Content :(
Da muß ich wohl von einem Backup aus die Site nochmal nachbauen bis zum aktuellen Stand...
Beste Grüße uli
R
Remo 31.01.2013 13:41
Ist etwas schwierig dir konkrete Informationen zu liefern da ich das Problem nie hatte. Du könntest aber ev. auch versuchen den Fehler abzufangen, ev. kannst du dann weiterarbeiten und den betroffenen Block neu einfügen.
Testhalber in dieser Datei concrete\core\libraries\block_view_template.php den Konstruktor so anpassen, dass er wie folgt aussieht:
public function __construct($obj) {
if ($obj) {
$this->btHandle = $obj->getBlockTypeHandle();
$this->obj = $obj;
if ($obj instanceof Block) {
$this->bFilename = $obj->getBlockFilename();
}
$this->computeView();
}
}
Damit dürfte die Fehlermeldung verschieben, ist aber natürlich gut möglich, dass einfach die nächste erscheint.
Nachricht hinzufügen
Sie müssen sich anmelden , um diese Konversation zu posten.