Ich möchte den Inhalt einer "Basis-Seite" in Drupal rendern. So etwas wie diese Frage: displaying a Drupal view without a page template around it aber für Drupal 7.Anzeige einer Drupal-Seite ohne Vorlage in Drupal 7
Mein Versuch fast funktioniert:
function mytheme_preprocess_page(&$variables, $hook) {
if (isset($_GET['ajax']) && $_GET['ajax'] == 1) {
$variables['theme_hook_suggestions'][] = 'page__ajax';
}
}
Und haben eine Datei page--ajax.tpl.php
im selben Verzeichnis mit dem Namen, wo template.php lebt:
<?php print $page['content']; ?>
Das Problem ist, dass es immer noch das Menü und meine zwei benutzerdefinierten Blöcke aus der Seitenleiste rendert. Ich möchte nur den Seiteninhalt. Was soll ich ändern?
Das Listenelement verwirrt den Parser. Ich habe den Code von deinem Link eingegeben, weil es für zukünftige Leute nichts Schlimmeres gibt als zu finden, dass die richtige Lösung hier auf einem toten Link war :). Ich werde deinen Vorschlag kurz versuchen und zu dir zurückkommen. –
Bitte versuchen Sie es auch nur Php print $ page; ?> ohne etwas anderes (weil dies eine erste Version der Datei war;). Vielen Dank. –
Leider hat das nicht funktioniert. Ich bekomme genau die gleiche Ausgabe. Ich habe überprüft, dass sowohl die 'html - ajax' - als auch die' page - ajax' - Vorlage verwendet wird (indem HTML - Kommentare gedruckt werden). Das Problem ist, dass die Blöcke scheinbar Teil von '$ page [']' in page - ajax sind, also trotzdem gerendert werden. –