Purtroppo la funzione utilizzata da Drupal per generare la pagina 'Create content' non è una funzione di theming, e pertanto non può essere sovrascritta nel template.tpl.php.
Come poter quindi personalizzare o modificare ciò che viene mostrato in questa pagina?
Una soluzione veloce è la seguente:
print $content) il codice rivisto e personalizzato che fa al caso nostro.Ad esempio:
<?php if (arg(2)== null) {
global $user;
$types = node_get_types();
foreach ($types as $type) {
if (function_exists($type->module .'_form') && node_access('create', $type->type)) {
$type_url_str = str_replace('_', '-', $type->type);
$title = t('Add a new @s.', array('@s' => $type->name));
$out = '<dt>'. l(drupal_ucfirst($type->name), "node/add/$type_url_str", array('title' => $title)) .'</dt>';
$out .= '<dd>'. filter_xss_admin($type->description) .'</dd>';
$item[$type->type] = $out;
if ($type->type == 'page' ||
$type->type == 'story') {
if (($user->uid == 0) || ($user->uid > 1)) {
unset($item[$type->type]);
}
}
}
}
uksort($item, 'strnatcasecmp');
$item['profile'] = '<dt>'. l(drupal_ucfirst('My Profile'), "user/".$user->uid."/edit", array('title' => $title)) .'</dt>';
$item['profile'] .= '<dd>Edit your profile page</dd>';
$output = t('Here are the ways that you can contribute content to the website:') .'<dl>'. implode('', $item) .'</dl>';
print $output;
}
else { print $content; }
?>il codice di esempio qui sopra ci permette di:
Potremmo ovviamente andare ad aggiungere classi e id css, contenuti o qualsiasi altro codice.
Invia nuovo commento