Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

block Sichtbarkeit abhängig von Wert eines fields in content-type

Eingetragen von thombuck (9)
am 12.07.2016 - 09:24 Uhr in
  • Module
  • Drupal 7.x oder neuer

Hallo zusammen,

ich stehe gerade vor einem Problem, für das ich keine Lösung finden kann. Dazu muss man sagen, dass dies meine erste Drupal-Page ist und ich nicht der PHP-Profi vor dem Herrn bin :-)

Ich habe ein webform-block erstellt, der auf ganz bestimmten Seitentypen angezeigt werden soll. Eigentlich kein Problem, aber die Schwierigkeit liegt darin, dass die Sichtbarkeit des blocks an einem field innerhalb des content-types abhängt.

Also: Es gibt einen block mit einem webform. Dann gibt es einen content-type "contenttype". In diesem gibt es ein spezifisches Feld "status" mit den möglichen Werten "active", "paused" oder "hidden". Den content-type mit dem jew. status lasse ich über views als Liste auf einer übersichtsseite ausgeben (für jeden status eine). Das Webform soll nun nur bei artikeln erscheinen, die den status "active" besitzen und bei "closed" und "hidden" nicht.

Ich habe es schon geschafft, dass das webform generell beim content-type "contenttype" angezeigt wird:

<?php
$nodeType
= "contenttype";

// valid node id in view mode
if ( arg(0) == 'node' AND is_numeric(arg(1)) AND arg(2) == FALSE ) {

   
$node = node_load(arg(1)); // cached

   
if ($node->type == $nodeType) {
        return
true;
    }
}

return
FALSE;
?>

Wie kann ich diesen Code erweitern, so dass er in diesem content-type zusätzlich noch den status des fields "status" abfragt und nur true zurückgibt, wenn "status" auf "active" steht?

Vielen Dank schonmal vorab für eure Hilfe.

‹ CCK Pflichtfeld für Node Author aufheben Leere Seite nach Colorbox installation ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo,ich würde in der

Eingetragen von Hyp1 (1461)
am 12.07.2016 - 10:28 Uhr

Hallo,

ich würde in der unteren if Abfrage folgendes hinzufügen:

if ($node->type == $nodeType && $node->status == 1) {
        return true;
    }

MfG

Robert

PS: Der node status sollte nach Deinem node_load als Integer Variable in $node vorhanden sein.

https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Robert, vielen Dank für

Eingetragen von thombuck (9)
am 12.07.2016 - 11:44 Uhr

Hi Robert,

vielen Dank für deine schnelle Rückmeldung. Habs eben ausprobiert - so hat es leider noch nicht funktioniert. Der webform block wird trotzdem bei allen artikeln des content-types angezeigt und ignoriert weiter die variable "status"

<?php


$nodeType
= "contenttype";

// valid node id in view mode
if ( arg(0) == 'node' AND is_numeric(arg(1)) AND arg(2) == FALSE ) {

   
$node = node_load(arg(1)); // cached

   
if ($node->type == $nodeType && $node->field_status == 1) {
     return
true;
    }
}

return
FALSE;


?>

Der Maschinenlesbare Name der content-type Variable ist "field_status" und der Wert "active" steht in der Auswahlliste als 1.

VG Thom

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Thom, sorry ich dachte Du

Eingetragen von Hyp1 (1461)
am 12.07.2016 - 12:16 Uhr

Hi Thom,

sorry ich dachte Du meinst den Orginalen Node Status, ob veröffentlicht oder nicht:
0: published
1: not published
und nicht ein Feld mit eigenen Werten.

Mach mal einen

var_dump($node->field_satus[LANGUAGE_NONE]);
die();

Um zu sehen wie Du an den Wert in field_status kommst.
Das kann ja auch sprachabhängig sein.

In dem Fall müsste der Code mit einem String Value verglichen werden:

if ($node->type == $nodeType && $node->field_status[LANGUAGE_NONE][0]['value'] == 'active')

Gruss

Robert

https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Genial

Eingetragen von thombuck (9)
am 12.07.2016 - 16:52 Uhr

Hey Robert - Du bist genial! :-) Vielen Dank. Der Value war statt 'active' ein integer. Jetzt funktioniert es genau wie es soll. Vielen Dank!!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Content Ex-/Import
  • Wer ist online Block
  • Doppelte Anzeige von Node im View
  • URL-Alias von bestehendem Link wird gelöscht und auf -0 gesetzt 404 Fehler entsteht
  • Ausblenden von Taxonomy wenn diese keinen Inhalt haben
  • Image als Anhang
  • [gelöst] Benutzer erstellen ohne Berechtigung zum ändern von E-Mail oder Passwort
  • HTTP ERROR 500, wenn der Node eines bestimmten Typs gespeichert wird oder ein neuer Inhalt dieses Typs erzeugt werden soll
  • Module modifizieren zb Statuses
  • Exposed Filter einer View in seperatem Block darstellen, wie kann ich die exposed Filter der zug. View deaktivieren
  • Website ohne öffentlichen Zugriff
  • »Geschwister« Nodes anzeigen
Weiter

Neue Kommentare

  • Ohne Fehlermeldungen zu
    vor 5 Stunden 40 Minuten
  • dinmikkith schrieb Ja du hast
    vor 2 Tagen 20 Stunden
  • SaarlandToday schrieb Es gibt
    vor 3 Tagen 4 Stunden
  • ich hab das Problem gefunden!
    vor 3 Tagen 5 Stunden
  • Sorry, das mit dem Theme war
    vor 3 Tagen 5 Stunden
  • Zitat: Es gibt in den
    vor 3 Tagen 6 Stunden
  • Es gibt in dem Template das
    vor 3 Tagen 16 Stunden
  • Zitat: da es dort eine
    vor 3 Tagen 17 Stunden
  • Sorry, dachte das ich das
    vor 3 Tagen 19 Stunden
  • Ich habe den Fehler gemacht
    vor 3 Tagen 20 Stunden

Statistik

Beiträge im Forum: 245940
Registrierte User: 18824

Neue User:

  • Damian1802
  • MrWebMV
  • kiba

» Alle User anzeigen

User nach Punkten sortiert:
wla9007
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3829
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 9 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