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

[gelöst] Inhaltstyp, wie Feldabhängige Detailansicht möglich?

Eingetragen von Jenna (1883)
am 03.11.2013 - 18:18 Uhr in
  • Views
  • Drupal 7.x

Hallo Drupaler,

meine Werte aus Inhaltstyp Objekte sollen über 2 Hauptmenu Links per Views ausgeben werden, Miete und Kauf.

Die Felder der Objekte sind alle gleich, bis auf Mietpreis und Kaufpreis, hier kann der User per Checkbox wählen, das sein Objekt sowohl zur Miete als auch zum Verkauf gezeigt werden soll, die Ausgabe erfolgt dann über 2 Views mit Suchfiltern und Listenansicht, bis hier alles gut.

Das Problem kommt bei Click von der Listenansicht auf die Detailansicht, da ja nun beide Felder Mietpreis und Kaufpreis dargestellt werden (wenn diese Werte enthalten).

Ich möchte aber auf Detailansicht Miete nur den Mietpreis und bei Detailansicht Kauf nur den Kaufpreis anzeigen.

Da der Pfad vom Inhaltstyp auf eben einen Pfad zeigt werden ja erstmal beide Felder ausgegeben.

Wie kann ich von der Listenansicht auf einen bestimmten Block zeigen bzw. wie könnte man das sonst lösen?

Viele Grüße
Jenna

‹ views, icon size [gelöst] Inhaltstyp, wie Feldabhängige Detailansicht möglich? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Moinsen,der Aufruf des Full

Eingetragen von glycid (921)
am 04.11.2013 - 02:36 Uhr

Moinsen,

der Aufruf des Full Nodes des CT Objekte kommt ja entweder aus der View Kauf oder Miete. Wenn die Views den Display Typ "Page" haben, sind das zwei verschiedene URL's und damit zwei verschiedene Referrer. Darüber kannst Du im hook_field_display_alter() steuern, dass das Feld Mietpreis nicht angezeigt wird, wenn der Aufruf der Vollansicht aus der Kauf- View kommt und umgekehrt. Die URLs der View- Pages sollten in etwas so aussehen: example.com/objekte/kauf und example.com/objekte/miete

So in etwa kann der Code für die MODULNAME.module Datei aussehen:

<?php
/**
*Implements hook_field_display_alter().
*/

function MODULNAME_field_display_alter(&$display, $context) {
 
//Holen der Referrer URL
 
$ref = $_SERVER['HTTP_REFERER'];
 
//Zerlegen der URL Bestandteile in ein Array. Siehe auch dpm ($split);
 
$split = explode('/', $ref);
   
//Prüfen ob die Werte objekte und kauf gegeben sind
   
if (($split[5] == 'objekte') && ($split[6] == 'kauf') && ($context['instance']['bundle'] == 'objekte')) {
     
//wenn TRUE, keine Ausgabe des Feldes Mietpreis
     
$context['entity']->Mietpreis = 0;
    }
   
//wenn FALSE, prüfen ob objekte und miete gegeben sind
   
elseif (($split[5] == 'objekte') && ($split[6] == 'miete') && ($context['instance']['bundle'] == 'objekte')) {
     
// wenn TRUE, keine Ausgabe des Feldes Kaufpreis
     
$context['entity']->kaufpreis = 0;
    }
}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo glycid, erstmal

Eingetragen von Jenna (1883)
am 05.11.2013 - 11:16 Uhr

Hallo glycid,

erstmal herzlichen Dank für deine Mühe, das klingt logisch und in der Art sind auch die URLs aufgebaut und gut zu wissen das es überhaupt funktionieren kann.

Ich mache mich jetzt erstmal mit Module schreiben etwas vertraut, ich wußte das das irgendwann kommt.... und gucke mal wie weit ich das hinbekomme.

Besten Dank für den Ansatz... viele Grüße
Jenna

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe das jetzt mit node

Eingetragen von Jenna (1883)
am 07.11.2013 - 11:29 Uhr

Ich habe das jetzt mit node clone gelöst, da die Planung ohnehin nicht sinnvoll war, es müssen doch noch 2 weitere Felder bearbeitet werden.

@glycid: immerhin habe ich mein erstest Testmodul umgesetzt (auch wenn dieses nur einen Infotext ausgibt..), spannendes Thema, werde ich dranbleiben.

Viele Grüße
Jenna

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 1 Woche 3 Tagen
  • Vielen Dank für Ihren
    vor 1 Woche 5 Tagen
  • Composer ist sehr ratsam
    vor 2 Wochen 19 Stunden
  • Vielen Dank für den
    vor 2 Wochen 3 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 2 Wochen 3 Tagen
  • Gut gemacht
    vor 2 Wochen 3 Tagen
  • Layout Builder etc. z.B. für Landing Pages
    vor 2 Wochen 3 Tagen
  • Links
    vor 2 Wochen 6 Tagen
  • Moin,wow, sehr gutes
    vor 3 Wochen 9 Stunden
  • Dass ist eine spannende
    vor 3 Wochen 16 Stunden

Statistik

Beiträge im Forum: 250316
Registrierte User: 20563

Neue User:

  • drupalthemes
  • rofilm
  • Cruzorerm

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 16 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