taenzer.me blog

Random stuff from Poppelsdorf 

Fast and simple 3-level-navigation for Wordpress: show top level, parent and subpages only when on a subpage

Every now and then, we're using Wordpress as a CMS for clients' sites that require only basic content and navigation. 

What bugs me every time is the navigation. For me, a reasonable navigation is able to show up to 3 sublevels, and when a menu item is clicked, it lists all of its subpages, and when a subpage is clicked, it lists its subpages and so on.

What's important here is to have the parent and ancestor pages (or top level pages) stay where they are when you dig deeper. Even if there is a breadcrumb available, most users tend to use the main navigation to return to the previous level. Plus, this sort of step-by-step navigation gives the user a reasonable overview of his or her possible options. 

Navigation ( active links are bold):

a)

  • Home
  •   -Subpage 1
  •   -Subpage 2
  •   -Subpage 3

b)

Subpage 1 

  • Subpage 1
  •   -Subpage 1.1
  •   -Subpage 1.2
  • -Subpage 2 (this site has children too, but they only show when the item is clicked)
  • -Subpage 3

c)

Subpage 1 

  • Subpage 1
  •   -Subpage 1.1
  •   -Subpage 1.2
  • -Subpage 2
  • -Subpage 3

There are many ways to create that sort of navigation, but they all have in common that you need to have a certain level of PHP knowledge. 

The basic code snippet to get a list of pages is <?php wp_list_pages(); ?> with its arguments. You can combine it with a walker function if you need more specific functions. 

I have to admit I prefer writing my own function than using any kind of plugin to do it for me. But this time I'm giving in. 

The Simple Section Navigation Plugin does exactly what we need, and nothing else. It's slim and it works. You can use it as a widget in your sidebar, but you can as well call it from inside of your template file. 

Bildschirmfoto_2011-05-16_um_16

It also puts the title of the top level page above the navigation. If you don't want that, go into the plugin's php-file and on line 96 simply change

echo $before_widget.$before_title.$sect_title.$after_title."<ul>"; 

to

echo $before_widget."<ul>";

By this you only prevent the output of this part of the widget. (h3 and section title)

Other useful code snippets:

1) Echo the title of the top level page (in a 3-level-navigation level 0)

global $post; $post_ancestors = get_post_ancestors($post); $top_page = $post_ancestors ? end($post_ancestors) : $post->ID; $toptitle = get_the_title($top_page); echo $toptitle;

2) Echo the title of the parent page (in a 3-level-navigation level 1 or 2, depending on which subpage you're on)

$parent_title = get_the_title($post->post_parent); echo $parent_title;

(Plugin Version 2.1., Wordpress 3.1.2)

Filed under  //   3-level-navigation    navigation   only   show children   show parent pages when on subpage   show subpages   show subsites   show title of parent page   show title of top level page   template   widget   wordpress  

Abfalltermine Bonn iCal-Generator

Die Stadt Bonn bietet unter bonn.de die Möglichkeit, die Abfalltermine in Tabellenform anzuzeigen und auszudrucken. Einmal im Jahr flattert der Abfallplaner auch per Post in's Haus. Einen Download der Termine für den eigenen Rechner gibt es aber leider nicht.

Hier schafft unser Tool Abhilfe: Es generiert nach Angabe von Anschrift und Jahr eine iCal-Kalenderdatei als Download, die Sie dann z.B. in Outlook, iCal etc. importieren und z.B. mit iPhone & Co synchronisieren können.

Der iCal-Generator verwendet die Originaldaten der Webseite der Stadt Bonn, indem via Python-Script mittels urllib & BeautifulSoup die Tabellen der Abfalltermine ausgelesen werden und daraus mit dem tollen iCalendar package fertige ics-Dateien generiert werden . Wir können daher für die Funktionsfähigkeit des Generators keine Haftung übernehmen, werden aber bei Änderungem am Quellcode von bonn.de das Tool entsprechend aktualisieren.

Link: http://abfall.taenzer.me

Mein Senf zum Jugendmedienschutz-Staatsvertrag (JMStV)

Vor wenigen Minuten flatterte die fünfte besorgte Anfrage eines Kunden zum neuen Jugendmedienschutz Staatsvertrag, der 2011 in Kraft treten soll, in meinen Posteingang. Ich habe mich in den vergangenen Tagen intensiv mit dem Thema auseinandergesetzt und auch die hitzigen Diskussionen in Onlineportalen, Blogs, Facebook, Twitter und anderen Social Networks verfolgt und muss feststellen, dass in den meisten Fällen auch nur mit Wasser gekocht wird.

Link: PDF Finaler Entwurf JMStV http://www.fsm.de/inhalt.doc/Synopse_JMStV_final.pdf

Konkret sieht der neue JMStV ab Anfang 2011 vor, dass alle Inhalte im Internet nach Altersvorgaben ähnlich der FSK bei Filmen von 0 - 18 Jahren klassifiziert werden, um so z.B. Jugendschutz-Software und anderen EDV-Systemen auf technischer Ebene eine Filterung nicht geeigneter Inhalte zu ermöglichen.
Da die "beteiligten Institutionen" bisher noch nicht konkret geworden sind, wie das technisch umgesetzt werden soll, ist das aber zur Zeit alles noch viel heiße Luft. Eine einfache Realisation mittels neuer META-Tags im Header einer jeden Webseite wäre vermutlich die technisch einfachste Lösung und auf dieser Ebene auch für jedermann relativ einfach umzusetzen und von jeder Software einfach auszulesen. Dadurch wird man natürlich nicht den Forderungen einer Zugangsverhinderung für Inhalte mit FSK12, 16 oder 18 gerecht, aber für 90% aller Webseiten sollte das Thema damit erledigt sein. Zumindest die üblichen Firmenwebseiten ohne Werbung und Links auf youporn etc. sind damit eigentlich aus dem Schneider.
Was ist aber, wenn es sich um Portale mit vielen Autoren und vielen unterschiedlichen Themen handelt? Als praktisches Beispiel fällt mir hier neon.de ein, wo beim besten Willen nicht nur jugendfreie Inhalte veröffentlich werden. Oder was ist mit Seiten, die Google Adwords nutzen? Hier besteht fast keine Möglichkeit, die angezeigten Werbebanner zu beeinflussen. In solchen Fällen sieht der Gesetzesentwurf vor, dass die Inhalte entweder durch ein Jugendschutzsystem nur für entsprechende Altersgruppen zugänglich gemacht werden (was i.d.R. immer mit Kosten verbunden ist) oder eine Zugänglichkeit nur in den Zeiten, in denen die jüngeren Zielgruppen nicht online sind (sprich z.B. von 23-6 Uhr bei FSK18). Hier merkt man schnell, wie unausgereift der Gesetzesentwurf ist. Noch absurder wird es, wenn man davon ausgeht, dass sich das Gesetz nur auf den deutschen Raum bezieht. Seiten ausserhalb dieses Raums, die die neue Kennzeichnung nicht verwenden, wird man dann bei Nutzung eines entsprechenden Filters, nicht mehr aufrufen können?

Ich persönlich werde erst einmal gar nichts unternehmen und abwarten, was tatsächlich passiert. Keine unserer Kundenseiten fällt überhaupt in die kennzeichnungspflichtigen Sparten. Ich rate Kunden daher ebenfalls, das Thema gelassen zu nehmen und abzuwarten, bis das Gesetz tatsächlich durchgewunken wird. Ob das passiert, sehe ich zum jetzigen Zeitpunkt noch nichtmal als ganz sicher an, auch wenn die Zeichen der Zeit darauf hindeuten.

Davon auszugehen, dass diese Kennzeichnung dazu führt, dass Jugendliche nur noch die für sie geeigneten Inhalte konsumieren werden ist realitätsfremd. In Summe ein weiteres Bürokratiewerkzeug, das Deutschland nicht braucht.

PDFs als JPEG Speichern (MacOS)

Click here to download:
Convert_PDF_to_JPEG.app.zip (227 KB)

Für ein Projekt müssen PDF-Dokumente als Einzelseiten im JPEG-Format exportiert werden. Das geht zwar mit dem Acrobat, aber die exportieren JPEG-Dateien sind nicht immer von brauchbarer Qualität. Ich habe dafür einen Automator-Ablauf erstellt. Einfach die PDF-Datei auf die Aktion ziehen. Danach erfolgt eine Abfrage der Umbenennungsoptionen (durchlaufende Nummer etc.) und danach kann ein Ordner angegeben werden, in welchem die generierten JPEG-Dateien abgelegt werden. Klappt wunderbar und geht vor allem wesentlich schneller als mit Photoshop oder Acrobat.

Die Konvertierungs-Einstellungen (Auflösung etc.) kann man in der Automator-Aktion selber festlegen/ändern. Dazu die Aktion mit dem Automator öffnen und den entsprechenden Schritt bearbeiten.

PIL 1.1.6 fails to build on Debian Lenny 64bit

Error message:

_imagingtk.c:20:16: error: tk.h: Datei oder Verzeichnis nicht gefunden
_imagingtk.c:20:16: error: tk.h: No such file or directory

Solution:

Download PIL 1.1.6 and extract files from ZIP.
The problem seems to be that the setup doesn't find tk.h
Edit setup.py and add this after line 190:

add_directory(include_dirs, "/usr/include/tcl8.5")

After that either tar the folder and use easy_install
or do a simple python setup.py install.

Worked like a charm then.

Firefox-bug: Close button of Lightbox2-Plugin with Wordpress not working, producing a scrollbar and blue outline instead of closing

We're using Wordpress and NextGenGallery plugin for a client's site, with the possibility to open images with lightbox in full screen size. We're using Stimuli's Lightbox 2-plugin for this. It's working fine in Safari.

But in Firefox and Internet Explorer, somehow all images get a blue outline, and the close-button (which is an image) underneath the opened lightbox-image gets one. Clicking the close button would also produce a scrollbar, and only second click would close the image. I believed this to be a line-height or height problem, and in fact it is. Firefox and IE add this 1px blue outline to links as such and links or images in focus. So putting only the border to 0px won't work.

Scrollbar

Instead, my fix is this:

a, a img, a:focus, a img:focus{
    border: 0px;
    outline: none;
}   

Afterwards, the close button won't show this odd behaviour anymore and clicking the "X" will close the image.

In addition, if you happen to experience the close button not working at all, adding

#stimuli_imageData a#stimuli_bottomNavClose {

    position: relative;   
    z-index: 1000;

}

will do the trick. There is some overlaying issue causing this.

 

 

Filed under  //   blue border   close button   firefox   lightbox   lightbox 2   nextgenGallery   not working   outline   scrollbar   second click   stimuli   wordpress  

Coworking Bonn geht an den Start!

Es ist zwar noch nicht alles perfekt, aber nachdem einige "Beta-Tester" uns versichert haben, dass man an unseren Coworking-Schreibtischen in Poppelsdorf wunderbar entspannt arbeiten kann, haben wir unsere Webseite einfach schonmal online gestellt: http://cowobo.de


Die Coworking-Arbeitsplätze sind seit dem 1.10. einsatzbereit. Wer also noch nach einem Arbeitsplatz in Bonn sucht, ist jederzeit gerne willkommen. Am besten schreibt ihr uns eine E-Mail an info@taenzer.me, um zu klären, ob noch Plätze frei sind. Alles weitere könnt ihr auch den Webseiten entnehmen, v.a. die FAQ dürfte für die meisten interessant sein.

Wir arbeiten derzeit aktiv an einem Online-Buchungssystem, das die automatische Verwaltung der Buchungen übernimmt, sowie einer kleinen Community rund um unseren Coworking-Space. Kritik und Verbesserungsvorschläge sind jederzeit erwünscht!
Happy coworking :-)

coworking Bonn Logo - Final!

Nach angeregten Diskussionen und diversen Zwischenvarianten haben wir uns für das coworking bonn Logo auf die Kombination schwarz/rot (in Anlehnung an das Stadt Bonn Logo) festgelegt.

Logo-cowobo-final

coworking bonn Logo - Update

Endlich heute die Zeit gefunden, das coworking bonn Logo zu aktualisieren - vielen Dank für eure Anregungen!
In der neuen Variante sind neue Farben im Spiel und die Typographie wurde den "Personen" am Tisch angepasst.

Coworking-bonn

coworking Bonn Logo