"Inhalt erstellen" - Inhalt anpassen
Eingetragen von dbetschart (183)
am 14.12.2007 - 11:44 Uhr in
am 14.12.2007 - 11:44 Uhr in
hallo,
ich möchte den Inhalt des Menupunktes "Inhalt erstellen" anpassen. Man kann ja als admin in "Verwalten", "Menüs" den link anpassen, aber was ich bis jetzt erfolglos suche, ist die wirkliche seite von "inhalt anpassen", das heisst wenn man links im menü auf "inhalt erstellen" klickt, erscheinen ja im hauptfenster in der mitte die verschiedenen optionen, die man erstellen möchte (z.b. Seite, Story, Umfrage, Blog, etc). wie kann ich nun diese seite ändern?
mfg
- Anmelden oder Registrieren um Kommentare zu schreiben
Gegenvorschlag
am 14.12.2007 - 14:17 Uhr
Hallo,
das geht sicher irgendwie. Aber vielleicht ist folgende Methode eleganter:
Erstelle dir eine eigene Seite für diesen Zweck und binde sie in das Menü ein. Darin hast du ja im Prinzip nur Text und Links, z.B. "/node/add/page", "/node/add/image", "/node/add/eigenertyp".
Und das kannst Du mit HTML/CSS themen wie's gefällt (Eingabeformat eventuell auf "FullHTML" setzen)
Gruß,
Boris
Die Nodetypelist unter
am 14.12.2007 - 14:43 Uhr
Die Nodetypelist unter Inhalt erstellen wird leider von einer Funktion ausgegeben die man NICHT themen kann. Aus meiner Sicht ist diese Funktion ein Relikt aus Drupals Steinzeit und entspricht so in keinster Weise den aktuellen Anforderungen.
Hier diese Funktion:
<?php
function node_add($type = NULL) {
global $user;
$types = node_get_types();
$type = isset($type) ? str_replace('-', '_', $type) : NULL;
// If a node type has been specified, validate its existence.
if (isset($types[$type]) && node_access('create', $type)) {
// Initialize settings:
$node = array('uid' => $user->uid, 'name' => $user->name, 'type' => $type);
drupal_set_title(t('Submit @name', array('@name' => $types[$type]->name)));
$output = drupal_get_form($type .'_node_form', $node);
}
else {
// If no (valid) node type has been provided, display a node type overview.
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 (isset($item)) {
uksort($item, 'strnatcasecmp');
$output = t('Choose the appropriate item from the list:') .'<dl>'. implode('', $item) .'</dl>';
}
else {
$output = t('No content types available.');
}
}
return $output;
}
?>
Der Vorschlag von bb ist ein guter Loesungsansatz.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
herzlichen Dank für die
am 15.12.2007 - 12:49 Uhr
herzlichen Dank für die Antworten! ja das ist in der tat schade, dass man das nicht so einfach lösen kann! doch bb's vorschlag werde ich gleich mal ausprobieren. ansonsten ist drupal echt klasse, extrem einfach zu bedienen, auch für anfänger!
mfg
EDIT: ich habe nun eine eigene neue "Inhalt erstellen" seite erstellt, wie kann ich nun den "original" "inhalt erstellen" - Link links im menü verschwinden lassen oder noch besser nur für den admin anzeigen lassen? geht das überhaupt?
Neues Menü
am 15.12.2007 - 14:03 Uhr
Auch um Nebeneffekte zu vermeiden, wär's gut, wenn Du ein neues Menü erstellst und dort hinein packst, was Du für Deine Benutzer benötigst. Der Weg, das Menü "Navigation" zu verwenden und dort alle möglichen Querschläger zu deaktivieren, ist fehleranfällig, betrifft auch den Admin und benötigt zuviel Nachpflege bei etwaigen Änderungen, da dort eben ungefragt alles hinterlegt wird, was ein angemeldeter Benutzer zufällig darf.
Und wie mache ich das? :-)
am 16.12.2007 - 21:23 Uhr
Und wie mache ich das? :-) von php selber habe ich leider keine ahnung..
Ohne PHP
am 16.12.2007 - 21:52 Uhr
Dazu brauchst Du kein PHP, das geht mit Klicken ;-)
Unter Administration -> Strukturierung -> Menüs kannst Du doch neue Menüs erstellen. Und darin dann Menüpunkte. Das neu erstellte Menü erscheint dann unter Administration -> Strukturierung -> Blöcke. Dort schiebst Du es in die Region, in der Deine Menüs sitzen ('linke Seitenleiste' etc.).
vielen dank für die hilfe!
am 17.12.2007 - 21:37 Uhr
vielen dank für die hilfe! ging tatsächlich ohne php ;-) nur noch eine frage: im standartmenü "Navigation" wird ja oben der username der eingeloggten person angezeigt. wie kann ich das auch bei einem neu kreierten menu anzeigen lassen (also anstelle des menünamens der username)?
mfg
Anmeldename im Blocktitel
am 18.12.2007 - 12:37 Uhr
Gilt nur für PHPTemplate Themes.
Du kopierst folgenden Text in eine Datei:
<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="block block-<?php print $block->module ?>">
<?php global $user; if ($user->uid > 0): ?>
<h2><?php print $user->name ?></h2>
<?php endif; ?>
<div class="content"><?php print $block->content ?></div>
</div>
Die Datei benennst Du nach Deiner Block-ID – und die ersiehst Du nun wieder im HTML-Quelltext Deiner Seite, wo dieser Menüblock ausgegeben wird. Wenn da steht:
<div id="block-block-1" class="block block-block">
dann muss die Datei block-block-1.tpl.php heissen. Und die schliesslich kopierst Du in Dein Theme-Verzeichnis.
vielen dank! hat einwandfrei
am 18.12.2007 - 22:11 Uhr
vielen dank! hat einwandfrei geklappt!
Mein Account
am 27.12.2007 - 13:20 Uhr
Hallo,
wie bekomme ich denn den schreibgeschützen Menüpunkt "Mein Account" in den neuen Block?
Gruß, der Jenzen!
user
am 27.12.2007 - 22:11 Uhr
Da erstellst Du im betreffenden Menü einen neuen Menüpunkt, nennst ihn "Login" und der Pfad heisst "user".