Modul Premium Content zeigt Titel der Node zweimal
am 05.07.2014 - 15:21 Uhr in
Hallo,
auf meiner Seite sehen Benutzer, die keinen Zugriff auf die Premium Inhalte haben, nach dem Teaser die Node mit zwei Titeln. Erstens den Seitentitel und offensichtlich in der Premium Meldung eingeschlossen, den Titel des Artikels.
Ich verwende "Exclude Node Title" für einfache Seiten um die Seitentitel normalerweise auszublenden, aber im Fall von den Artikeln müsste ich dann alle Titel meiner Artikel ein zweites Mal in den Body der Node setzen, damit ich diesen dann mit der Meldung von Premium Content zeigen kann. Das scheint mir nicht unbedingt profesionell.
Das Theme auf meiner Seite ist das Profesional Theme von Devsaran.
Muss ich eine Ausnahme für den Premium Content im Theme machen oder kann ich Einfluss auf das premium_content.module nehmen? Wie kann ich den Titel nur einmal zeigen? Wie kann ich den zweiten Node Titel bei der Meldung ausblenden? Kann jemand mir helfen?
Anhang | Größe |
---|---|
Unbenannt_2.png | 19.16 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo, habe das Problem
am 08.07.2014 - 07:06 Uhr
Hallo,
habe das Problem gefunden.
Es musste lediglich der Aufruf der Funktion "node_build_content" deaktiviert werden.
function theme_premium_body($arguments) {
$node = $arguments['node'];
// node_build_content($node, 'teaser');
$level = premium_level_load($node->premium);
if ($level->denied_message) {
$denied_message = $level->denied_message;
$denied_message_format = $level->denied_message_format;
}
else {
$denied_message = variable_get('premium_message', t('Full text available to premium subscribers only.'));
$denied_message_format = variable_get('premium_format');
}
// Only display the premium message, if we actual have any content.
if (!empty($node->content['body'])) {
return '<div class="premium-message">' . check_markup($denied_message, $denied_message_format) . '</div>';
}
}
So wird bei der Anzeige der einzelnen Node nur der Titel der Seite angezeigt und die Premium Nachricht.
Grüße Ultramax
Und da es sich um eine
am 08.07.2014 - 08:22 Uhr
Und da es sich um eine Theme-Funktion handelt, hast Du diese Änderung hoffentlich in der template.php Datei im eigenen Theme installiert und nicht im Origtinal Modul geändert.
Premium-Content-Message
am 08.07.2014 - 08:38 Uhr
Hallo wla,
Danke für Deine Antwort. Da ich die Änderung nur bei der Anzeige der Premium-Content-Message brauche, dachte ich, dass hier die Änderung richtig war. Wie muss das aussehen, wenn die Änderung in der template.php gemacht wird. Ich weiss schon, beim nächsten Update des Moduls wäre meine Änderung flöten.
Grüße Ultramax
Das müsste dann so aussehen
am 08.07.2014 - 09:07 Uhr
Das müsste dann so aussehen in Deiner template.php:
function TEMPLATENAME_premium_body(&$arguments) {
$node = $arguments['node'];
// node_build_content($node, 'teaser');
$level = premium_level_load($node->premium);
if ($level->denied_message) {
$denied_message = $level->denied_message;
$denied_message_format = $level->denied_message_format;
}
else {
$denied_message = variable_get('premium_message', t('Full text available to premium subscribers only.'));
$denied_message_format = variable_get('premium_format');
}
// Only display the premium message, if we actual have any content.
if (!empty($node->content['body'])) {
return '<div class="premium-message">' . check_markup($denied_message, $denied_message_format) . '</div>';
}
}
template.php
am 08.07.2014 - 10:08 Uhr
Hallo tobi-berlin,
danke für die Antwort. Dann muss ich mich umgehend mal mit dem Thema Subtheme beschäftigen ;-) ...
Grüße Ultramax