Blocksteuerung aus Modul klappt nicht

Guten Abend,

ich möchte Blöcke aus dem Warenkorb ausblenden; leider klappt das soweit nicht. Nachfolgend der zugehörige Code. Habe diesen nach und nach immer mehr vereinfacht, in der Hoffnung das es klappt. Tut es aber nicht.

Ich habe

  1. zu änderndes Template, den zu ersetzenden Block, sowie die Datei welche den Block ersetzen soll, in der metadata.php benannt.

  2. In der Datei die den Blockinhalt ersetzen soll “[{$smarty.block.parent}]” hinzugefügt

  3. den cache geleert und die views neu aufgebaut.

Fehlt da irgenetwas Entscheidendes?

[U]Version: Community Edition 4.9.4[/U]

[B]Auszug aus der metadata.php [/B]


'blocks' => array(
        array('template' => 'page/checkout/inc/basketcontents.tpl', 'block'=>'checkout_basketcontents_nodiscounttotalnet', 'file'=>'/views/blocks/leer.tpl'),
     ),

[B]Auszug aus dem Template application/views/MEINCHILDTHEME/tpl/page/checkout/basketcontents.tpl[/B]


[{block name="checkout_basketcontents_nodiscounttotalnet"}]
 <tr>
    <th>[{ oxmultilang ident="TOTAL_NET" suffix="COLON" }]</th>
    <td id="basketTotalProductsNetto">[{oxprice price=$oxcmp_basket->getNettoSum() currency=$currency}]</td>
 </tr>
[{/block}]

[B]Inhalt der Templatedatei in MEINMODUL /views/blocks/leer.tpl[/B]


[{*  /* Leer-Template */ *}]

<style type="text/css">
<!--
		leerblock	
-->
</style>
	
[{$smarty.block.parent}]

Hat da vielleicht Jemand einen Tip für mich?

Viele Grüße

Jürgen

So fügst Du an. Entferne mal

[{$smarty.block.parent}]

oder kommentiere es aus

[{*$smarty.block.parent*}]

Hallo,
danke für den Hinweis.

Da muss noch etwas anderes falsch sein, weil weder der original Block verschwindet, noch der Templateinhalt erscheint.

Der Inhalt der Templatedatei, welche den Block ersetzen soll, sieht jetzt so aus.

<style type="text/css"> <!-- leerblock --> 
	KKKKKK TEST-Block KKKKK
</style>

Woran könnte es noch liegen?

folgende Ursachen könnten noch sein:

  1. Modul inaktiv
  2. block gar nicht in der DB vorhanden
  3. block inaktiv
  4. Pfad falsch (Leerzeichen, vllt. Case sensitive)

die erste Möglichkeit prüfst du einfach in der Modul-Verwaltung
Möglichkeiten 2-4 könntest du mit diesem Tool prüfen:


( Unten im Accordion Modul Metadaten mit “dev-modules” prüfen anklicken und auf den Screenshots 6+7 sieht man es)

alternativ für 2+3): in der DB die Tabelle oxtplblocks aufmachen und den Eintrag suchen

Hallo Marat (?),

Danke für Dein Feedback.

1-4 hatte schon gepaßt.

Nachdem ich an den Namen der *.tpl dateien, welche die Blöcke ersetzen sollen, die Zeichenfolge [I][B]"_custom"[/B][/I] angehängt habe ([I]leer_custom.tp[/I]l), und das Modul einmal aus- und eingeschaltet habe hat, es auf einmal funktioniert.

Dein Tool ist einsame Spitze, richtig Klasse. Vielen Dank dafür! Sehr übersichtlich, das spart enorm Zeit und hat darüber hinaus noch ein sehr angenehmes Erscheinungsbild.

Die Möglichkeit von Oxid Inhalts-Blöcke zu überschreiben bzw. anzuhängen ist ebenfalls Klasse. Bin ziemlich begeistert (sowas kenne ich von damals nicht, obgleich es mit preg_match und Co technisch möglich gewesen wäre). Ein tolles Konzept!

Gibt es das eigentlich auch irgendwo nachzulesen? ich meine das man “_custom” an die Template-Dateien für die Blöcke anhängen muss, damit alles klappt. Ich hatte es nur vermutet, weil ich es bei anderen gesehen habe und die Zeichenfolge “_lang” Sprachdateien in den Modulordnern identifizierbar gemacht hat.

Gruß Jürgen

“_custom” ist eigentlich eine ganz andere Baustelle. Der Block wird nicht überschrieben, weil die Pfadangabe zuviel ist:

[B]/views/blocks/[/B]leer.tpl

Ohne sollte es gehen.

[QUOTE=foxido.de;181439]"_custom" ist eigentlich eine ganz andere Baustelle. Der Block wird nicht überschrieben, weil die Pfadangabe zuviel ist:

[B]/views/blocks/[/B]leer.tpl

Ohne sollte es gehen.[/QUOTE]

Hallo,

[B][I]leer_custom.tpl [/I][/B]mit Pfadangabe funktioniert bei mir[B][I] leer.tpl[/I][/B] ohne Pfadangabe dagegen nicht. (was für eine Baustelle?)

[B]Nachtrag: [/B] Hab dank der hervoragenden Dev-Tools gerade festgestellt das ohne Pfadangabe unter “/out/blocks/leer.tpl” nach der Datei gesucht wird. Das soll man wissen. Welche Methode ist besser und warum?

Ist so etwas irgendwo zugänglich dokumentiert, bzw. wo könnte man nach solchen Infos suchen?

Gruß Jürgen

Wir hatten mal eine Wiki, die gerade auf eine neuere Plattform umgezogen wird: http://oxidforge.org/de/
Ob die Daten schon da drin sind, weiß ich leider nicht.

Aber alles, was ab jetzt kommt, wird dort erscheinen.

jedenfalls, früher war es mal so:
wenn der Pfad zur Block Datei relativ war ( ‘file’=>‘leer.tpl’ ) dann wurde das Template im modules/modul/out/blocks/ gesucht, also modules/modul/out/blocks/leer.tpl
bei absolutem Pfand geht OXID dann vom Modul-Ordner aus.

Alles klar, danke.