Zurück   WordPress Deutschland Forum > Support > Plugins und Widgets

Antwort
 
Themen-Optionen Ansicht
Alt 03.10.2009, 13:00   #1 (permalink)
PostRank: 0
 
Registriert seit: 17.06.2008
Beiträge: 18
Dynamic Sidebar Widget löst Fehlermeldung aus!

Hallo zusammen!

Ich habe meine Sidebar mehr oder weniger manuell zusammengestellt. Einzig die Tagcloud wollte auf diese Weise nicht erscheinen. Deshalb hab ich jetzt mal ne Dynamic Sidebar in mein Theme eingebaut, was mir jedoch nen Parse Error verursacht.

Hier der Code:

sidebar.php
PHP-Code:
<!-- begin sidebar -->    
    
        <!-- Suchfeld -->
        <div id="sidebar">
                <h2><label for="s">Suchen</label></h2>
            <form id="searchform" method="get" action="<?php bloginfo('url'); ?>/">
                <div>
                    <input name="s" id="s" size="20" type="text" />
                    <input name="submit" value="Suchen" type="submit" class="such-button" />
                </div>
            </form>
            
        <!-- Social Media Links -->
        <div class="sidebar_layer">
            <h2>Social Media</h2>
                <ul>
                <li class="rss"><a href="<?php bloginfo('rss2_url'); ?>" rel="alternate" type="application/rss+xml" title="RSS abonnieren">RSS abonnieren </a></li>
                <li class="youtube"><a href="http://www.youtube.com/globcom001">Youtube</a></li>
                <li class="facebook"><a href="http://www.facebook.com/">Facebook</a></li>
                <li class="twitter"><a href="http://www.twitter.com/globcom">Twitter</a></li>
                </ul>
            </div>
                
            <!-- Kategorien -->
            <div class="sidebar_layer">
            <h2>Kategorien</h2>
                <ul>
                    <?php wp_list_categories('order-by=name&show_count=1&title_li'); ?>
                </ul>
            </div>
            
            <!-- TAGWOLKE -->
            
            <div class="sidebar_layer">
                
            <h2>Tagwolke</h2>
        <?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
            
            </div>    
                
        </div>
    </div>    
</div>
Hat jemand nen Tipp wieso ich da ne Fehlermeldung bekomme? Ist mein erstes Theme und ich hab anscheinend noch nicht die nötige Erfahrung, selbst draufzukommen.

Danke!
donpadro ist offline   Mit Zitat antworten
Alt 03.10.2009, 19:22   #2 (permalink)
WPD-Moderator
 
Benutzerbild von Ammaletu
 
Registriert seit: 14.07.2007
Ort: Bonn
Beiträge: 4.316
Du fängst eine if-Anweisung an, die Du nicht beendest. Das kann nur im Parse-Fehler ändern. Es müsste eher so aussehen:

PHP-Code:
<div class="sidebar_layer">
  <h2>Tagwolke</h2>
  <?php if (function_exists('dynamic_sidebar')) { dynamic_sidebar(); } ?>
</div>
Normalerweise ist das im Default-Theme ja so eingebunden, dass der Aufruf quasi heißt: Wenn dynamic_sidebar nicht existiert oder false zurückliefert, dann führe den Bereich innerhalb der Klammern aus = die normale Sidebar. Das brauchst Du so kompliziert hier natürlich nicht.

Davon abgesehen würde ich Dir raten, Dich mit Widgets anzufreunden. Die sind wirklich nicht schlecht, man kann mit wenigen Zeilen seine eigenen Widgets schreiben und muss dann nie mehr die sidebar.php anfassen. Und wenn es flexibler gehen muss, gibt es noch das "Widget Logic"-Plugin.
__________________
Mein Blog || Code-Notizen || Schon in die FAQ geschaut?
Ammaletu ist offline   Mit Zitat antworten
Alt 06.10.2009, 12:02   #3 (permalink)
PostRank: 0
 
Registriert seit: 17.06.2008
Beiträge: 18
Spitzentipp, danke!

Ist sicherlich ne gute Idee, alles mit Widgets zu machen. Muss mich aber erst mal einarbeiten.

Ich hab das jetzt mal ohne Fehlermeldung hinbekommen, nur wird mir oberhalb des Widget-Titels "Tagwolke" (den ich gerne groß geschrieben hätte, wo finde ich das?) ein Aufzählungszeichen angezeigt mit der id #ctc3 .widget ctc. Wie bekomme ich das bitte weg? Und wo kommt das her?

Danke noch einmal!!!!
donpadro ist offline   Mit Zitat antworten
Alt 06.10.2009, 14:09   #4 (permalink)
WPD-Moderator
 
Benutzerbild von Ammaletu
 
Registriert seit: 14.07.2007
Ort: Bonn
Beiträge: 4.316
"Tagwolke" steht doch in obigem Quelltext als Überschrift drin!? Wäre also in der sidebar.php zu ändern. Kann aber auch sein, dass das Widget eine Überschrift mitbringt.

Widgets an sich sind normalerweise als li-Elemente umgesetzt. Der Rest Deiner Sidebar ist nicht als ul-Liste gemacht? Dann müsstest Du das in der functions.php anpassen.

PHP-Code:
// add two sidebars for the widgets functionality
if (function_exists('register_sidebar')) {
  
// register the left sidebar
  
register_sidebar(array('name' => 'left',
  
'before_widget' => '<li>',
  
'after_widget' => '</li>',
  
'before_title' => '<h3>',
  
'after_title' => '</h3>'));
  
  
// register the right sidebar
  
register_sidebar(array('name' => 'right',
  
'before_widget' => '<li>',
  
'after_widget' => '</li>',
  
'before_title' => '<h3>',
  
'after_title' => '</h3>'));

Das mal als Beispielcode aus meiner functions.php. Muss so irgendwie auch in Deinem Theme stehen, und über die Parameter kannst Du halt definieren, was vor und nach Widgets sowie vor und nach dem Widget-Title an HTML eingefügt wird. Obiges müssten in etwa die Default-Werte sein.
__________________
Mein Blog || Code-Notizen || Schon in die FAQ geschaut?
Ammaletu ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.6.0 | Impressum | Ein Inpsyde.com Projekt