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

[gelöst] Content Type oder Page Template für den Inhalt des eigenen Moduls festlegen

Eingetragen von kpb (2)
am 09.02.2010 - 12:57 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,

ich habe folgendes Problem und würde mich über einen Tipp oder eine Lösung sehr freuen.

Unser Unternehmen bietet ein CRM System für die Immobilienbranche an. Ich entwickle für unsere Kunden ein Drupal-Modul, mit dem sie ihre Immobilien aus unserem System auslesen und auf ihrer Drupal-Webpage anzeigen lassen können.

Dafür gibt es in meinem Modul z.B. folgende Funktion, die über einen Drupal-Path von dem Suchformular aufgerufen wird:

/**
* Displayes all inventories depending on your search results.
*/
function modulname_listing() {
/* Code to get the all data */

return theme('modulname_listing',$inventories,$pages,$page_url,$current_page,$search_parameters);

}

auch das Theme wird korrekt initialisiert:

/**
* Implementation of hook_theme().
*/
function modulname_theme() {
return array(
'modulname_listing' => array(
'arguments' => array(
'inventories' => NULL,
'pages' => NULL,
'page_url' => NULL,
'current_page' => NULL,
'search_parameters' => NULL
),
'template' => 'modulname-listing'
),
);
}

und die URL verlinkt:

/**
* Implementation of hook_menu().
**/
function modulname_menu() {
$items = array();

$items['modulename/listing'] = array(
'title' => 'Modulname Listing',
'page callback' => 'modulname_listing',
'access arguments' => array('access modulname content'),
'type' => MENU_CALLBACK
);

return $items;
}

Das Ganze funktioniert wie gewünscht und zeigt den Inhalt korrekt an. Für das umliegende HTML Gerüst der Seite wird die page.tpl.php des Themes verwendet.

Ich würde dieses umliegende HTML Gerüst gerne im Theme besser gestalten können. Natürlich kann ich für alle 'normalen' Content Types (Story, Page, Article) ein eigenes Template (siehe http://drupal.org/node/249726) erzeugen, aber sauberer wäre es, wenn mein Modul seinen Content mit einem eigenen Content Type anzeigt und ich diesen per Template individuell designen kann.

Meine Frage ist:
Wie gebe ich im Modul an, von welchem Content Type die Ausgabe sein soll?

Ich habe dazu bisher nichts gefunden und wäre für Links, Tipps oder Hilfen dankbar.

Viele Grüße,
Konstantin

‹ Aktueller Menüpunkt Formularfelder anzeigen, aber nicht bearbeiten ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Konstantin, ich bin

Eingetragen von fh (153)
am 09.02.2010 - 15:06 Uhr

Hallo Konstantin,

ich bin nicht ganz sicher, ob ich die Frage richtig verstanden habe.

Meinst du vielleicht das hier:

/**
* Implementation of hook_node_info().
*/
function modulname_node_info() {
  return array(
    'modulname' => array(
      'name' => t('Type name'),
      'module' => 'modulname',
      'description' => t('...'),
      'has_title' => TRUE / FALSE,
      'title_label' => t('...'),
      'has_body' => TRUE / FALSE,
      'body_label' => t('...'),
      'locked' => TRUE / FALSE,
    ),
  );
}

Vielleicht hilft es ja weiter. Mit diesem Hook machst du Drupal deinen Inhaltstypen bekannt.
Alternativ kannst du das auch(also keinen neuen Typen, sondern auf einen verweisen) so machen, dass du die Nodetypen in hook_menü anwählbar machst; also sagst, welcher Typ angesprochen werden soll.
Sieh doch mal drupal_get_types(...); in der http://api.drupal.org an. Mehr kann ich dazu nicht sagen.

Gruss
Fredi

___________________________________________________________________________
Wenn Frage beantwortet wurde, bitte [gelöst] in den Titeleintrag schreiben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Fredi, vielen Dank für

Eingetragen von kpb (2)
am 09.02.2010 - 19:05 Uhr

Hi Fredi,

vielen Dank für Deine schnelle Antwort.
Den hook node_info() habe ich bereits selber gefunden, jedoch die Doku so verstanden, dass man damit nur einen neuen Content Type für zukünftige Node's generiert.
Nach Deinem Beitrag und einem erneuten Lesen der Doku verstehe ich das jetzt so, dass meine Funktion 'listing' quasi einen Node erzeugt und ich mit dem Hook node_info() den Content Type dieses Nodes setzten kann. Der Content Type muss (darf) dabei nicht bereits im System als Custom oder Default Content Type existieren.

Ich werde es so schnell wie möglich testen.

EDIT: Funktioniert super, nur der neue Content Type wird jetzt dem Administrator angezeigt, was ich gerne verhindert hätte.
Aber ist nicht so schlimm. Problem gelöst :D

Vielen Dank nochmal,
Konstantin

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 3 Tagen 16 Stunden
  • Hey danke
    vor 4 Tagen 11 Stunden
  • Update: jetzt gibt's ein
    vor 5 Tagen 5 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 2 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 12 Minuten
  • In der entsprechenden View
    vor 2 Wochen 14 Minuten
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 15 Minuten
  • gelöst
    vor 4 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

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