[solved] Spalten (div) ausblenden, wenn ein User im Frontend angemeldet ist

Moderator: General Support Moderators

Forum rules
Forumregeln
Locked
User avatar
cherchri
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 178
Joined: Wed Aug 31, 2005 7:17 pm
Location: Austria

[solved] Spalten (div) ausblenden, wenn ein User im Frontend angemeldet ist

Post by cherchri » Mon Oct 29, 2007 9:24 pm

Hallo Community!
Ich hoffe ich bin hier im Templatebereich richtig.

Wenn ein User sich im Frontend anmeldet, soll ein div (z.B. Spalte rechts) in jedem Fall verschwinden.
Wenn kein Modul in diesem Bereich veröffentlicht ist, soll der div logischerweise auch nicht zusehen sein.

Nun weiß ich schon zwei php Code Schnipsel, die mir da weiterhelfen könnten:

Code: Select all

<?php if ( mosCountModules( 'extra' ) <= 0) { ?>
	<style type="text/css">
	div#content {margin-left: 170px; margin-top: 0; margin-right: 0.1%; margin-bottom: 0;}
	</style>
<?php } ?>
Das hilft mir, das div verschwinden zu lassen, wenn kein Modulveröffentlicht wird, und das CSS zu maniplieren. Das steht bei mir im Header der index.php.

Code: Select all

<?php if (!$my->id && mosCountModules('extra')) {;?>
	<div id="extra"><?php mosLoadModules ( 'extra', -2); ?></div>
<?php };?>
Das hilft mir, ein div anzuzeigen, wenn sich niemand eingeloggt hat.

Meine Frage: Wie lassen sich die zwei Dinge miteinander verknüpfen? Die Logik sollte heißen: Wenn ein Modul veröffentlicht ist, zeige den div. Wenn kein Modul veröffentlicht ist, zeige den div nicht und verändere das CSS. Wenn ein User sich angemeldet hat, zeige den div auf keinen Fall (egal, ob was veröffentlich ist oder nicht) und verändere das CSS.

Ich bin optimistisch, dass ich hier Hilfe erhalte.. wenn es in letzter Zeit auch ein bisserl ruhiger geworden ist.

Grüße
cherchri
Last edited by cherchri on Mon Nov 05, 2007 5:01 pm, edited 1 time in total.
der mensch lebt nicht vom brot allein

RedEye
Joomla! Ace
Joomla! Ace
Posts: 1460
Joined: Sat Jan 21, 2006 8:42 pm

Re: Spalten (div) ausblenden, wenn ein User im Fromtend angemeldet ist

Post by RedEye » Mon Oct 29, 2007 10:29 pm

probier mal

im headbereich

Code: Select all

<?php if (!mosCountModules( 'extra' ) || isset($my->id)) {
$showmodule = 0; ?>
<style type="text/css">
div#content {margin-left: 170px; margin-top: 0; margin-right: 0.1%; margin-bottom: 0;}
</style>
<?php } ?>
und im body wo es dann hin soll

Code: Select all

<?php if ($showmodule != 0 && mosCountModules( 'extra' )) : ?>
<div id="extra"><?php mosLoadModules( 'extra', -2); ?></div>
<?php endif; ?>
habs aber jetzt net getestet  :-\
Last edited by RedEye on Mon Oct 29, 2007 10:38 pm, edited 1 time in total.

User avatar
cherchri
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 178
Joined: Wed Aug 31, 2005 7:17 pm
Location: Austria

Re: Spalten (div) ausblenden, wenn ein User im Frontend angemeldet ist

Post by cherchri » Tue Oct 30, 2007 2:43 pm

Danke!

Ich werde das mal ausprobieren. Ich möchte aber auch gerne was "lernen". Mit anderen Worten: Was bedeutet
|| und isset (my->id) denn eigentlich?
Und $showmodule habe ich auch noch nirgends aufgeschnappt.

Kannst du vielleicht noch Licht ins Dunkel bringen? Damit ich nicht wegen jeder Kleinigkeit anschließend nachfragen muss  ;).
der mensch lebt nicht vom brot allein

RedEye
Joomla! Ace
Joomla! Ace
Posts: 1460
Joined: Sat Jan 21, 2006 8:42 pm

Re: Spalten (div) ausblenden, wenn ein User im Frontend angemeldet ist

Post by RedEye » Fri Nov 02, 2007 9:36 am

cherchri wrote:Was bedeutet
|| und isset (my->id) denn eigentlich?
Und $showmodule habe ich auch noch nirgends aufgeschnappt.
|| -> http://de2.php.net/manual/de/language.o ... ogical.php
isset() -> http://de2.php.net/manual/de/function.isset.php
Die Variable $showmodule ist neu generiert, könntest sie auch anders nennen.
if (!mosCountModules( 'extra' ) || $my->id) {      <- müsste so eigendlich au reichen, also ohne isset, kannst ja ma schreiben ob es für dich funktioniert hat

User avatar
cherchri
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 178
Joined: Wed Aug 31, 2005 7:17 pm
Location: Austria

Re: Spalten (div) ausblenden, wenn ein User im Fromtend angemeldet ist

Post by cherchri » Fri Nov 02, 2007 3:03 pm

Danke erstmal!
Ich lese mal ..
Und komm aber sicher erst in der kommenden Woche zum Ausprobieren.
Melde mich dann!
der mensch lebt nicht vom brot allein

User avatar
cherchri
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 178
Joined: Wed Aug 31, 2005 7:17 pm
Location: Austria

Re: Spalten (div) ausblenden, wenn ein User im Fromtend angemeldet ist

Post by cherchri » Sun Nov 04, 2007 3:34 pm

Danke mal für den Wink in die richtige Richtung!
Wenn man die Variable auf "0" setzt, hat es nicht funktioniert, jedoch ...

Code: Select all

<?php if (mosCountModules( 'extra' ) <= 0 || $my->id) { $showmodule = 1; ?>
	<style type="text/css">
	div#content {....}
	</style>
<?php } ?>
im Header und

Code: Select all

<?php if ($showmodule != 1 && mosCountModules( "extra" )) : { ?>
		<div id=..... </div>
	<?php } endif; ?>
</div>
im body hat mich zum Ziel gebracht.

Danke vielmals.
der mensch lebt nicht vom brot allein


Locked

Return to “Template, CSS und Designfragen 1.0.x”