Reactie plaatsen 
 
Waardering:
  • 0 stemmen - gemiddelde waardering is 0
  • 1
  • 2
  • 3
  • 4
  • 5
[DRUPAL 6] Toon eigen module-inhoud ONDER bestaande node
Auteur Bericht
Jasper Online
Ep2 Admin
******

Berichten: 15.056
Lid sinds: 04-2006
Reputatie: 223
Bericht: #1
Shy [DRUPAL 6] Toon eigen module-inhoud ONDER bestaande node
hallo,

ben bezig met een DP module, voor DP6. Wat ik wil bereiken is als iemand een node toevoegt in de categorie "Consument", dat hij dan onder dat bericht maximaal 5 gerelateerde nodes laat zien, van een ander content type namelijk "Klant".

Beide content types delen 2 taxonomy vocabularies (aankomst en vertrekregio), gevuld met landen op deze manier:

Europa
- Nederland
- België
- Frankrijk
- enz
Azie
- China
- Japan
- Kazahstan
- enz

Bij het toevoegen van een nieuwe consument, MOET deze een vertrek- en een aankomstregio selecteren. Aan de hand van deze keuze worden klanten gezocht in de database, die spullen verhuizen van en naar de opgegeven lokatie.

Allemaal leuk, het gaat best goed. Echter snap ik geen ZAK van de theme() functie en ik snap dus ook niet hoe ik mijn stukje code onder de content van een node kan krijgen.

Ik wil dus uiteindelijk bereiken dat een dbase-tabel gevuld wordt met maximaal 5 gerelateerde node id's én dat hij deze 5 gerelateerde nodes onder de betreffende node toont van content type "Consument".

HOE?! :) Alvast bedankt voor enige hulp.
Hieronder mijn huidige module...

matchmaker.module


PHP-code:
/** 
 * Implementation of hook_nodeapi().
 * 
 * get taxonomy terms from node that's about to be inserted
 * and query them on existing content of content type 'klant' to see
 * if there are any matching nodes by term.
**/ 
function matchmaker_nodeapi(&$node$op$a3 NULL$a4 NULL) {
  switch (
$op) {
    case 
'insert':
      
db_query("INSERT INTO {matchmaker} (nid, matchid1, matchid2) VALUES (%d, %d, %d)"
                              
$node->nid$node->field_off_land_cur[0]['value'], $node->field_off_land_new[1]['value']);
          
drupal_set_message('Match Maker Module triggered: ' $node->nid.' + '.$node->field_off_land_cur[0]['value'] . ' + ' $node->field_off_land_new[1]['value']);
    break;    
        case 
'view':
        
// haal alle nodes op die overeenkomen met de taxonomy terms van de huidige offerte
            
$related db_query("SELECT DISTINCT tn.nid FROM {term_node} tn WHERE (tn.tid = %d OR tn.tid = %d) ORDER BY RAND() LIMIT 0,5"
                                                     
$node->field_off_land_cur[0]['value'], $node->field_off_land_new[1]['value']);
            
            
$nids = array();
            while (
$book db_fetch_array($related)) {
              
$nids[] = $book['nid'];
            }
        
            
// return an unordered list of related nodes by using the Drupal theme() function.
            
return theme('item_list'$nids);
        break;
  }



//EDIT

codeblock is hoger nu. was vrij klein!

Om de zeven minuten denkt de vrouw dat de man alleen maar aan seks denkt.
(Dit bericht is het laatst bewerkt op 23-11-2009 om 16:59:58 door Jasper.)
23-11-2009 16:56:05
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Reactie plaatsen 


Ga naar locatie:


Contact opnemen | Ep2 | Naar boven | Naar inhoud | Archiefmodus | RSS-syndicatie