Welcome, Guest. Please login or register.
Did you miss your activation email?
May 26, 2012, 12:54:11 AM

Login with username, password and session length
Search:     Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter hier und auf unserer neuen Webseite.
155533 Posts in 21713 Topics by 7738 Members
Latest Member: Pattieardathfe
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: Newsblock ausblenden, wenn keine News vorhanden sind?  (Read 1211 times)
bakerling

Offline Offline

Posts: 340



« on: October 12, 2009, 09:41:40 AM »

Hallo!

Ich möchte gerne einen Newsblock mit z-index über die Headergrafik legen. Dieser soll aber nur sichtbar sein, wenn tatsächlich News vorhanden sind. Wenn keine aktuellen News mehr vorhanden sind, soll der ganze Newsblock vom Bildschirm verschwinden um bei neuen News wieder zu erscheinen. Ist dies überhaupt möglich? Und wenn ja, wie muss ich das bewerkstelligen?

Danke für Tipps und lg
Harry
Logged
WebBird
Guest
« Reply #1 on: October 12, 2009, 10:29:26 AM »

Da gäb's mehrere Möglichkeiten, abhängig davon, wie Du den Newsblock einblendest. (Anynews? Content-Block? Anderes?)
Logged
bakerling

Offline Offline

Posts: 340



« Reply #2 on: October 12, 2009, 11:02:59 AM »

Hallo WebBird

Danke für die schnelle Antwort! Ich möchte ein Div Container über das Headerbild legen. In diesem Div soll der Titel und die Kurzbezeichnung der News, sowie der Link "weiterlesen" erscheinen. Der Longtext dann im Hauptcontent.

Gruss Harry
Logged
WebBird
Guest
« Reply #3 on: October 12, 2009, 11:49:48 AM »

Also doch Anynews? rolleyes Da mußt Du Dich schon vorher festlegen.
Logged
WebBird
Guest
« Reply #4 on: October 12, 2009, 12:00:10 PM »

So, hier eine Beispiellösung für Anynews. Den Aufruf von displayNewsItems() mußt Du natürlich entsprechend anpassen, es ist ja nur ein Beispiel. Also nicht blind kopieren und wundern, daß es nicht funzt. Wink

Code:
<?php

if (function_exists('displayNewsItems')) {

   global 
$LANG;

   
ob_start();
   
displayNewsItems(02205'DE'false,'<p><a><img>'10);
   
$content ob_get_clean();

   if ( ! empty( 
$content ) && $content !== $LANG[0]['TXT_NO_NEWS'] ) {
       echo 
"<div id=\"newsoverlay\">$content</div>";
   }
   else {
       echo 
"keine News";
   }
}

?>


(Der else-Zweig kann im konkreten Fall vermutlich entfallen.)
« Last Edit: October 12, 2009, 12:26:55 PM by WebBird » Logged
bakerling

Offline Offline

Posts: 340



« Reply #5 on: October 12, 2009, 12:09:17 PM »

Hi WebBird

Vielen Dank für die superschnelle Hilfe.  grin  Ich werde nun gleich mal loswerkeln, in der Hoffnung das es funzt.

Lieber Gruss
Harry
Logged
WebBird
Guest
« Reply #6 on: October 12, 2009, 12:25:58 PM »

Naja, <div> formatieren und so mußte ja dann auch noch, gell. rolleyes Also auch daran im Beispiel noch denken, am besten mit id arbeiten.
Logged
bakerling

Offline Offline

Posts: 340



« Reply #7 on: October 12, 2009, 06:18:54 PM »

Hi WebBird

Ich habe Deinen anynews code mal auf einer Testseite eingebunden. Die News erscheinen, wie gewünscht im entsprechenden Div Container (roter background)
Lösche ich die News bleibt der Container, mit der Mitteilung "Keine News" leider stehen.  huh

Was ich eigentlich möchte, ist, dass der ganze rote Container verschwindet, wenn keine News vorhanden sind. Erst wenn es wieder News gibt, sollte der Container mit den News wieder an seinem Platz erscheinen.

Zum besseren Verständnis füge ich den Link zur Testinstallation ein:

http://testseite-wb.dramatik.ch/

Liebe Grüsse
Harry
« Last Edit: October 13, 2009, 07:58:58 AM by bakerling » Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3147



WWW
« Reply #8 on: October 12, 2009, 10:07:56 PM »

Ich hätte mir ja das mal gerne angeschaut. Link geht ist wohl nicht mehr aktuell

Dietmar
Logged

We are human beings - and nobody is perfect at all.
bakerling

Offline Offline

Posts: 340



« Reply #9 on: October 13, 2009, 08:01:08 AM »

Hallo Dietmar

Peinlich! Die Seite war noch auf privat gesetzt. Jetzt sollte der Link funktionieren.

http://testseite-wb.dramatik.ch/

LG Harry
Logged
WebBird
Guest
« Reply #10 on: October 13, 2009, 09:23:06 AM »

Hab ich doch gesagt, laß den else-Zweig weg.
Logged
bakerling

Offline Offline

Posts: 340



« Reply #11 on: October 13, 2009, 09:54:02 AM »

Hi WebBird

Sorry, hatte ich übersehen. Ich habe nun den else-Zweig entfernt. Alles was sich ändert, ist, dass nun der Text "Keine News" weg ist. Der rote Container ist aber nach wie vor da.
Der Code steht nun wie folgt im Template:

Code:
<!-- Spalte f�r neueste Nachrichten-->
    <div id="spalte rechts">
    <div id="news">
      <?php

if (function_exists('displayNewsItems')) {

   global 
$LANG;

   
ob_start();
   
displayNewsItems(02205'DE'false,'<p><a><img>'10);
   
$content ob_get_clean();

   if ( ! empty( 
$content ) && $content !== $LANG[0]['TXT_NO_NEWS'] ) {
       echo 
"<div id=\"newsoverlay\">$content</div>";
   }
   
}

?>

   </div></div>

LG Harry

Logged
aldus

Offline Offline

Posts: 1238


« Reply #12 on: October 13, 2009, 10:05:32 AM »

Hallo

Nun - dann wirst Du ebenfalls das Div "news" mit in die Abfrage, bzw. Ausgabe, mit einbeziehen müssen:

Code:
<!-- Spalte fuer neueste Nachrichten-->
<div id="spalte rechts">
<?php
/**
 *    display the news ... only if we've got some news!
 */
if (function_exists('displayNewsItems')) {
    global 
$LANG;

    
ob_start();
        
displayNewsItems(02205'DE'false,'<p><a><img>'10);
        
$content ob_get_clean();

    if ( !empty( 
$content ) && $content !== $LANG[0]['TXT_NO_NEWS'] ) {
        echo 
"<div id='news'><div id=\"newsoverlay\">$content</div></div>";
    }
}
?>

</div>

Dann sollte auch der rote Balken verschwinden ...

Gruß
Aldus
Logged
WebBird
Guest
« Reply #13 on: October 13, 2009, 10:19:26 AM »

WAH. Bitte keine einfachen Anführungszeichen in HTML verwenden, das ist nicht valide.

Wenn Dein DIV-Container die ID 'news' hat, mußt Du halt "news" statt "newsoverlay" hinschreiben. Zwei Container wirst Du wohl kaum brauchen. Wink

Code:
<!-- Spalte fuer neueste Nachrichten-->
<div id="spalte rechts">
<?php
/**
 *    display the news ... only if we've got some news!
 */
if (function_exists('displayNewsItems')) {
    global 
$LANG;

    
ob_start();
        
displayNewsItems(02205'DE'false,'<p><a><img>'10);
        
$content ob_get_clean();

    if ( !empty( 
$content ) && $content !== $LANG[0]['TXT_NO_NEWS'] ) {
        echo 
"<div id=\"news\">$content</div>";
    }
}
?>

</div>
Logged
WebBird
Guest
« Reply #14 on: October 13, 2009, 10:21:49 AM »

Da ist übrigens irgendwo noch ein > zuviel.

Code:
<div id='news'><div id="newsoverlay"><div class="anynews">
<h2>Aktuelle Nachrichten</h2>

<p><strong>Probenplan  (11:18, 13.10.2009)</strong></p>
Der Probenplan ist...
<p><a href="http://testseite-wb.dramatik.ch/pages/posts/probenplan-5.php">weiter lesen</a></p>
<hr />
</div></div></div></div>>
Logged
bakerling

Offline Offline

Posts: 340



« Reply #15 on: October 13, 2009, 10:37:08 AM »

Lieber WebBird lieber Aldus!

Vielen herzlichen Dank an Euch Beide für Eure schnelle und kompetente Hilfe!
Es funzt wie gewünscht.  cheesy Auch wenn das Datum der News abläuft.... schwupps ist der Container weg. Super!  cheesy

Liebe Grüsse
Harry
Logged
WebBird
Guest
« Reply #16 on: October 13, 2009, 11:00:50 AM »

Liebe

<-- is ein Weibchen Wink
Logged
aldus

Offline Offline

Posts: 1238


« Reply #17 on: October 13, 2009, 11:06:48 AM »

Naja - und ob ich bei meinen Tippfehlern lieb bin  grin

Gruß
Aldus - der tipp-schussel wink
Logged
WebBird
Guest
« Reply #18 on: October 13, 2009, 11:29:11 AM »

WAH. Bitte keine einfachen Anführungszeichen in HTML verwenden, das ist nicht valide.

Das ist wohl eine veraltete Information, welche wiederum auf einem weitverbreiteten Mißverständnis beruht. Die XHTML-Spezifikation sagt, daß alle Attributwerte gequotet sein müssen, und alle Beispiele in der Spezifikation sind mit doppelten Anführungszeichen. Daraus entwickelte sich wohl der Fehlschluß, daß nur doppelte Anführungszeichen erlaubt sind. Auch ich habe das so gelernt, muß mich jetzt allerdings eines Besseren belehren lassen. Wink

Einfache Anführungszeichen sind lt. XML-Standard (der wiederum Basis für den XHTML-Standard ist) ebenso valide wie doppelte.

Edit: Hier z. B. eine Seite, wo (offenbar fälschlicherweise) steht, daß nur doppelte Anführungszeichen erlaubt sind: http://www.javascriptkit.com/howto/xhtml_intro.shtml
« Last Edit: October 13, 2009, 11:30:42 AM by WebBird » Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3147



WWW
« Reply #19 on: October 13, 2009, 11:53:45 AM »

Na ist ja prima, Hab ich alles verschlafen, war mal wieder eine lange Nacht.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
WebBird
Guest
« Reply #20 on: October 13, 2009, 12:12:32 PM »

Du _mußt_ ja auch nicht immer alles mitkriegen. grin
Logged
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!