Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Drupal 7: Automatisches Einfügen von Code (z.B. für Adsense Werbung) in den Content bestimmter Node-Typen?

Eingetragen von Nikdilis (29)
am 13.12.2010 - 00:48 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x

Hallo zusammen,

weiß vielleicht ein Experte, wie ich es in Drupal 7 ohne Zusatzmodul realisieren kann, dass bei bestimmten Node-Typen wie z.B. Blog oder Forenbeiträgen im Content/Inhalt (z.B. nach dem 2. Abschnitt) Adsense-Werbung angezeigt wird (der weitere Inhalt der Seite sollte dann rechts von der Werbung angezeigt werden), wohingegen beim Node-Typ Seiten keine Werbung angezeigt werden soll?

In Drupal 6 gibt es das Adsense Injector Modul in Kombination mit Adsense, allerdings scheint es, dass diese Module so schnell nicht geportet werden.
Vielen Dank.

‹ Verschachtelte Vokabulare jQuery nicht auf jeder seite verfügbar ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Die einfachste Möglichkeit

Eingetragen von Thoor (3678)
am 13.12.2010 - 08:59 Uhr

Die einfachste Möglichkeit ist es wohl, sich einzelne Templatedateien für die Inhaltstypen anzulegen und diese entsprechend abzuändern!
Also in Deinem Fall eine node-blog.tpl.php, eine node-forum.tpl.php mit dem Adsense Code und ein node-page.tpl.php ohne Adsense Code in Dein verwendetes Theme einfügen.

Bezüglich 2. Abschnitt ... wie hast Du den denn realisiert? Sind es CCK Felder, oder Teaser oder ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, das mit dem Port

Eingetragen von Genesis (597)
am 13.12.2010 - 09:53 Uhr

Hallo,

das mit dem Port stimmt so nicht. Soweit ich weiß wird das AdSense-Modul derzeit durch kbahey auf Drupal7 portiert, und das Adsense Injector Modul soll wohl in das AdSense-Modul integriert werden.

Eine erste Version gibt es sogar bereits, wobei ich definitiv davon abraten würde diese live zu verwenden, da es erst ein erster Ansatz ist: Link

Ein paar Infos gibt es auch in diesem Thread hier: drupal.org

Ich hoffe das konnte helfen. Wenn du also noch etwas warten kannst könnte das auch für D7 deine Lösung sein. :)

Grüße vom,

Genesis

  • Anmelden oder Registrieren um Kommentare zu schreiben

Lösung gefunden, Danke!

Eingetragen von Nikdilis (29)
am 15.12.2010 - 00:01 Uhr

@Thoor: Danke für den Hinweis, der mich auf die richtige Fährte gebracht hat. Abschnitt war falsch ausgedrückt, Absatz wäre richtiger gewesen.
@Genesis: kbahey scheint momentan nicht wirklich aktiv zu werden was Adsens betrifft. Der erste Port stammt von takeova. Eine Portierung nach Drupal 7 wird sich in meinen Augen noch ziehen. Aber warten wir es ab.

Zum Thema Templates nach Node-Typ habe ich folgenden hilfreichen Link gefunden:
http://adaptivethemes.com/page-template-suggestions-per-node-type

Vorgehensweise für Drupal 7 anhand des Bartik-Themes (falls nicht das Bartik-Theme benutzt wird 'bartik' durch den Namen des verwendeten Themes ersetzen)

1. In der template.php folgenden Code hinzufügen:

function bartik_preprocess_page(&$vars, $hook) { if (isset($vars['node'])) {
// Im Falle des Node-Typs "blog" wird das Template "page--blog.tpl.php" heißen.
$vars['theme_hook_suggestions'][] = 'page__'. str_replace('_', '--', $vars['node']->type);
}
}

2. Im templates-Verzeichnis von bartik folgende Datei erstellen: page--blog.tpl.php

3. In diese Datei den Inhalt von page.tpl.php einfügen.

4. "

<?php
print render($page['content']);
?>
" mit folgendem Code ersetzen:

<?php
   
//Bestimmten Block definieren und rendern:
    //Die Nr. / Namen des Blocks kann man in den Block-Einstellungen herausfinden, indem man auf den Mauszeiger auf den Configure-Link des Blocks stellt.
    //Die 2 Werte vor 'configure' sind entscheidend
   
$blocks = block_load('node', 'recent'); //hier: recent comment block
   
$output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($blocks))));

   
//Content nach Absätzen "</p>" aufdröseln. Alternativ kann stattdessen auch ein Zeilenumbruch "<br />" benutzt werden.
   
$arr = explode("</p>", render($page['content']));
   
// den 2. Absatz den oben definierten Block hinzufügen:
   
$arr[2] = $output . $arr[2];
   
//Content wieder zusammensetzen:
   
$page['content'] = implode("</p>", $arr);
   
?>

<?php
print render($page['content']); // Ausgabe des Contents
?>

5. Abspeichern

6. Drupal Cache löschen unter Configuration => Performance => Clear Cache

7. Einen Inhalt mit Node-Typ 'Blog' aufrufen. Der Inhalt sollte jetzt nach dem 2. Absatz den ausgewählten Block darstellen. Verfügt der Inhalt nur über einen Absatz, dann wird der Block nach den Kommentaren dargestellt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 4 Tagen 6 Stunden
  • Textboxen mit Tabelle
    vor 4 Tagen 13 Stunden
  • Du sollst ja auch keine
    vor 4 Tagen 13 Stunden
  • Theme
    vor 4 Tagen 13 Stunden
  • Welches Theme benutzt du
    vor 4 Tagen 19 Stunden
  • Mit Responsive Raster hatte
    vor 5 Tagen 9 Stunden
  • Hallo Alex,um das Häkchen
    vor 5 Tagen 18 Stunden
  • Modul view_unpublished
    vor 6 Tagen 21 Stunden
  • Modul "override node options"
    vor 1 Woche 15 Stunden
  • Im Grunde ist dass ein
    vor 1 Woche 2 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20477

Neue User:

  • Robertnobia
  • AltonRaf
  • JeffreyPaf

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 12 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association