Login Button
Eingetragen von HaPe (50)
am 13.11.2007 - 09:14 Uhr in
am 13.11.2007 - 09:14 Uhr in
Hallo zusammen,
meinem Chef, gefällt die Login Box nicht. Er möchte statt der Login Box einen Login Button auf der linken Seitenleiste haben, der dann auf die Loginseite verzweigt.
Frage: Welches Template muss ich da verändern und kann ich da so einfach ein PHP Formular mit einem entsprechenden Button einbinden?
Zur Zeit ist ausser einem Taxonomie Menü alles andere ausgeblendet.
Soll heissen, der Button sollte auf der linken Seite und dem Taxonomie Menü erscheinen.
Für ein paar Tipps wäre ich Euch dankbar!
Gruß HaPe
- Anmelden oder Registrieren um Kommentare zu schreiben
Link
am 13.11.2007 - 10:59 Uhr
Du könntest der Einfachheit halber in einem Menüblock einen Link erstellen ("user"), den Menü-Titel ausblenden und das ganze via CSS themen. Oder aber auch den Button mittels HTML in den Block tun, wenn's unbedingt ein Knopf sein soll.
Exakt so
am 13.11.2007 - 11:05 Uhr
Du könntest der Einfachheit halber in einem Menüblock einen Link erstellen ("user"), den Menü-Titel ausblenden und das ganze via CSS themen. Oder aber auch den Button mittels HTML in den Block tun, wenn's unbedingt ein Knopf sein soll.
Exakt so wuerde ich es auch machen.
Eventuell beachten: Nach dem Login wird der Button "Login" zum Button "Mein Account".
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Sollte der Button nicht
am 13.11.2007 - 11:15 Uhr
Sollte der Button nicht direkt zum Menü gehören, sondern separat eingeblendet werden, dann würde ich sowas direkt ins Template einbinden. Einfach die page.tpl.php öffnen und dort wo du den Knopf haben willst folgendes einbinden:
<a href="<?php print base_path() ."user" ?>" title="Zum Login"><img src="<?php print base_path() . path_to_theme() ?>/deinButton.png" alt="Zum Login"</a>
Wenn du möchtest, dass der Button ausgeblendet wird, sobald der Benutzer eingeloggt ist, dann so:
<?php
global $user;
if ($user -> uid):
?>
<a href="<?php print base_path() ."user" ?>" title="Zum Login"><img src="<?php print base_path() . path_to_theme() ?>/deinButton.png" alt="Zum Login"</a>
<?php endif; ?>
Login Button
am 13.11.2007 - 11:57 Uhr
Danke für Eure Antworten.
Ich habe einen Menüpunkt und einen entsprechenden Block erstellt. Das klappt auch soweit. Aber wie mache ich jetzt aus diesem einen Link einen Button?
via CSS themen?
Kannst Du mir da ein Beispiel geben? Wie kann ich denn diesen einzelnen Block abfragen bzw. per CSS verändern?
Habe leider "bisher" nur oberflächliche CSS Kenntnisse, ist mein erstes CMS System und ich hatte vorher fast alles mit Tabellen erledigt.
Gruß HaPe
Login Button
am 13.11.2007 - 12:47 Uhr
@mhuebl
Das hat prima funktioniert, allerdings nur, wenn ich ich irgendeinen Block mit Inhalt auf der linken Seite einschalte.
Leider soll aber ausser diesem Button nichts auf der Linken Seite angezeigt werden.
Ich habe schon versucht einen "leeren Block" ohne Menü anzulegen, so quasi als Überschrift, aber auch dann wird mir die Sidebar_left nicht angezeigt.
Wenn ich keinen Block angeschaltet habe, erschein der Button unterhalb des Headers.
Habt Ihr eine Idee, wie ich die Sidebar_left trotz ausgeschalteter Blöcke angezeigt bekomme oder mach ich Grundsätzlich einen Denkfehler?
Gruß HaPe
Block mit unsichtbarem Inhalt
am 13.11.2007 - 13:07 Uhr
Habt Ihr eine Idee, wie ich die Sidebar_left trotz ausgeschalteter Blöcke angezeigt bekomme oder mach ich Grundsätzlich einen Denkfehler?
Es kommt darauf an welches Theme Du verwendest.
Es gibt Themes bei denen wird so wie bei Dir die linke Sidebar nicht angezeigt wenn sie keinen Block enthaelt. In diesem Fall hat die linke Sidebar keinen fixen Wert fuer die Breite.
Es gibt Themes bei denen wird die linke Sidebar angezeigt wenn sie keinen Block enthaelt. In diesem Fall hat die linke Sidebar einen fixen Wert fuer die Breite.
Entweder Theme wechseln oder einen Trick probieren.
Der Trick,
um die linke Sidebar anzuzeigen auch wenn sie keinen Block enthaelt waere, ihr einen unsichtbaren Block zu verpassen. Mit der Unsichtbarkeit ist es so, das ein Block ohne Inhalt auch nicht angezeigt wird. Man muss also erreichen das der Block Inhalt hat den man nicht sehen kann.
Um dies zu realisieren kann man einen neuen Block erstellen. Als Titel
<none>
eintragen. Damit ist schon mal der Blocktitel weg. Nun noch unsichtbaren Inhalt im Block erzeugen. Dazu gleich beim Erstellen des Block im Bereich "Blockinhalt:" auf den Eingabefilter "PHP code" umschalten und mit PHP HTML-Code ausgeben den man nicht sehen kann. Nicht sichtbarer HTML-Code sind beispielsweise "harte" Leerzeichen.Gib als PHP-Code dies ein:
<?php
print ' ';
?>
Damit wird ein hartes Leerzeichen ausgegeben. Das sollte reichen als unsichtbarer Inhalt. Damit ist der Block nicht leer und wird angezeigt.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
quiptime hat ja schon alles
am 13.11.2007 - 17:25 Uhr
quiptime hat ja schon alles wichtige gesagt.
Ich "befürchte" allerdings, dass dein Problem einfach schon gelöst ist, wenn du das
<?php
if ($sidebar_left):
?>
<?php
endif;
?>
Viel Spaß mit Drupal
Ich denke das das nicht hilft.
am 13.11.2007 - 17:43 Uhr
Ich denke das das nicht hilft wenn die linke Sidebar keine fixe Breite hat.
Denn egal ob die linke Sidebar von einer Tabellenspalte oder einem Div umfasst wird, wenn in beiden nichts drin ist fallen beide im Falle nicht fixer Breite zusammen. Denn wie gesagt, ein Block ohne Inhalt wird gar nicht erst dargestellt. Das ist nicht nur so das man diesen Block nicht sehen kann. Er ist im HTML Code, also im umfassenden Div oder Tabellenspalte, nicht existent. Da schafft auch das Entfernen der Abfrage, ob ein Block existiert oder nicht, keine Abfrage. Wenn kein Block da ist ist kein Block da.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Ja, das stimmt wohl. Könnte
am 13.11.2007 - 17:48 Uhr
Ja, das stimmt wohl.
Könnte aber auch sein (ich glaub im Garland ist das so), dass in der page.tpl.php etwas in der Art steht
<?php if ($sidebar_left): ?>
<div id="sidebar-left" class="sidebar">
<?php print $sidebar ?>
</div>
<?php endif; ?>
Sprich, der CSS-Container, der den linken Bereich definiert, wird erst gar nicht angezeigt, wenn er keinen Inhalt hat. (Macht ja auch Sinn).
Wenn HaPe jetzt allerdings genau in diesen Container den Code geschrieben hat:
<?php if ($sidebar_left): ?>
<div id="sidebar-left" class="sidebar">
<?php print $sidebar ?>
<a href="<?php print base_path() ."user" ?>" title="Zum Login"><img src="<?php print base_path() . path_to_theme() ?>/deinButton.png" alt="Zum Login"</a>
</div>
<?php endif; ?>
wird natürlich die linke Sidebar nicht angezeigt, obwohl sie Inhalt hat (genauergenommen: der Container hat Inhalt, die Variable nicht).
Übersieht man leicht.. Zumindest als Anfänger. Könnte aber natürlich auch was anderes sein.
Login Button
am 14.11.2007 - 13:51 Uhr
Hallo zusammen,
danke für Eure Ratschläge.
Das weglassen von von <$sidebar_left> hat nichts gebracht.
Aber
<?php
print ' ';
?>
Vielen Dank für Eure Hilfe.
Gruß HaPe