2010-12-23 9 views
0

Ich arbeite mit einer Website, die Panels für das Layout verwendet. Eines der einfacheren Panels, die wir haben, wird verwendet, um einen Knoten mit umgebenden Seitenleisten mit anderen Inhalten zu zeigen, die sich dynamisch außerhalb des Pfades ändern. Der Knoten und die Seitenleisten sind immer gleich. Nehmen wir an, die Knoten-ID ist 10 für den Knoten, der immer angezeigt wird, der sich nicht ändert.Wie überschreibe ich den Hauptteil eines Formulars innerhalb eines Bereichs für einen bestimmten Pfad?

Für einen bestimmten Pfad möchte ich den Rumpf von Knoten 10 ändern, den Knoten, der immer über die Panel-Konfiguration geladen wird.

Ich dachte preprocess_page in template.php und überschreiben $ vars ['content'], aber das enthält die gesamte HTML für das gesamte Panel. Ich möchte nur den Rumpf des Knotens ändern, der immer im Panel enthalten ist. Scheint so, als müsste man alles von $ vars ['content'] überschreiben, nur um ein kleines Stück des html innerhalb von $ vars zu ändern ['content'] ist übertrieben.

Wie kann ich den Hauptteil eines Knotens, der immer von einem Panel geladen wird, nur für einen Pfad aktualisieren?

Antwort

1

Sie könnten eine spezielle Bedingung für diese Panel-Seite erstellen, wenn die URL xxx ist.

Eine andere Option wäre, das Fenster, das den Knoten mit einer Vorverarbeitungsfunktion druckt, zu überschreiben und das HTML dort zu ändern. Ähnlich wie bei dem, was Sie versucht haben, nur auf das zu zielen, was Sie ändern möchten.

+0

Ja, beide machen mir einen Sinn, aber für beides, wie würde ich das tun. Ich bin nicht so vertraut mit der Verwendung von Panels, so dass ich für den ersten Vorschlag nicht finden konnte, wo das in Panels-Konfiguration getan werden sollte. Für den zweiten Vorschlag, welche Vorverarbeitungsfunktion würde ich verwenden, eine Panel-Vorverarbeitungsfunktion? –

+0

@Mike M: Die erste ist in der Schnittstelle machbar, wenn Sie sich umsehen, sollten Sie in der Lage sein, es zu finden (Hinweis: Auswahlregeln). Für die zweite Möglichkeit können Sie mit devel_themer herausfinden, wie die Vorverarbeitungsfunktion aufgerufen werden soll, oder sich die in den panels hook_theme-Implementierung definierten Themenfunktionen ansehen. – googletorp