Drupal

Drupal cron redirect probleem

Het heeft me een tijdje bezig gehouden. Wat was er aan de hand: de cron.php (met key uiteraard) op een Drupal 7 installatie werd doorgestuurd naar een – ogenschijnlijk random <nid>  – node/<nid>

Het probleem met de cron is dat je deze moeilijk kunt debuggen. Het beste zou zijn om al je modules uit te schakelen en 1 voor 1 te testen. In mijn geval was dit niet mogelijk, omdat het probleem zich alleen voordoet op de liveomgeving.

elysia_cron.module to the rescue!

Elysia cron is een module die je meer controle geeft over de hooks die meelopen in je cron. Een van de mogelijkheden is om alle hooks stuk voor stuk te laten uitvoeren. Daarbij kwam aan het licht welke hook voor dit probleem zorgt. De oplossing is dan nabij! Je kunt namelijk dan heel specifiek gaan zoeken naar die gevreesde drupal_goto() die je in de weg zit.

Hopelijk ben je met deze tip geholpen om sneller te werken naar een oplossing. Ik hoor het graag!

Drupaljam niet (alleen) voor nerds

Vrijdag is er weer een Drupaljam (nummertje 8 alweer!), het grootste jaarlijkse Drupal event van Nederland. Een van de onderschatte onderdelen aan dit event is dat het alleen bedoeld is voor de Drupalisten. Juist de bezoekers die niet tot de usual suspects behoren zien we ook graag langs komen.

Er zijn verschillende sessies die voor eindgebruikers en beslissers erg interessant zijn. Van hoe te kiezen voor een CMS en leverancier tot praktijkverhalen en ervaringen.

Ook interesse om eens te ervaren hoe de Drupal community dit aanpakt? Meer weten over de voor- en nadelen van Drupal? Kom dan 8 juni naar het gratis toegankelijke Drupaljam in Zoetermeer!

PS meld je wel even aan ajb!

Taxonomy pagina’s ontoegankelijk maken

Standaard zijn taxonomy pagina’s altijd te benaderen via taxonomy/term/. Dit is niet altijd wenselijk en kan via de template.php worden ondervangen. De vraag is of dit de meest aangewezen plek is, maar het functioneert!

De oplossing is om de taxonomy_term_page() functie te overriden

function <theme>_taxonomy_term_page($str_tids = '', $depth = 0, $op = 'page') {}

Door dan de drupal_not_found(); functie aan te roepen, worden deze pagina’s automatisch voorzien van 404 meldingen.

function <theme>_taxonomy_term_page($str_tids = '', $depth = 0, $op = 'page') {
drupal_not_found();
}

Je kan natuurlijk ook per vocabulary een uitzondering maken en daar een view-output op laten zien.


// we need to know the vid, so we ask for more information about the term
$term = taxonomy_get_term($str_tids[0]);
if($term->vid == <your_vid>){
$output = views_embed_view('bedrijven_overzicht','block_1',$term->tid);
return $output;
}
else{
drupal_not_found();
}

Ik hoor graag als er andere, betere, mooiere manieren zijn, maar het heeft voor mij in ieder geval zijn doel bereikt.

Single Invoke Cronjob Drupal with SuperCron

If you use SuperCron for Drupal (who doesn’t?!) you can call the different invokes seperately. Very handy if you would like to check if there’s email via mailhandler every 10 minutes, without running the complete cronjob.

How? You will have to find the key named SUPERCRON_SAFETY_VARIABLE and this key can be found in the database table variables.

And then? You put in a cronjob for example like this http://example.com/supercron.php?safety=<your_found_key>&module=<the_module_you_want_to_invoke>

UPDATE: ok. that was too fast! the variable changes on every cron run, so this doesn’t work! I’ll post an update soon!

Get the value for a key [CCK / Views]

I was trying to get a value in a views tpl. The value was a predefined list of text values. Views gave the key value, but of course i needed the string value.

content.module contains the function content_format() which does the job for you. More information about this function: http://api.audean.com/api/function/content_format/API+Reference