4 Milimeter – oder: Die Bedeutung eines Gartentörchens für die Weltwirtschaft

Donnerstagfrüh, kurz vor sieben. Der Businesskasper Herr P. aus D. verlässt wie jeden Morgen nach dem obligatorischen Abschiedskuss für seine Gattin sein schickes Einfamilienhaus. Adretter dunkelblauer Mantel, mit Schlips und Kragen hackt er in seinen polierten italienischen Schuhen äußerst dynamisch auf das Gartentörchen zu ...

Dieses besagte Gartentörchen klemmt seit Wochen, lässt sich nur noch mühsam öffnen, wobei man sich an so trüben Tagen wie heute nicht selten gerne mal die Finger schmutzig macht. Tagelang hatte Herr P. sich darüber geärgert, hatte schon morgens beim Aufstehen das Feindbild "Gartentörchen" vor Augen. Diese blöde unscheinbare aber eben klemmende Öffnung im Jägerzaun war drauf und dran ihm regelmäßig schon früh morgens den Tag zu versauen.

Bis er sich eines Morgens an das letzte Manager-Training erinnerte ... - Wie war das noch gleich? Hürden sind dazu da, bewältigt und übersprungen zu werden, um daran zu wachsen! Genau! Und exakt DAS würder er jetzt auch mit diesem popeligen Gartentörchen tun. Also beschleunigte er seine Schritte, klemmte die Aktentasche noch fester unter den linken Arm, stützte sich mit der rechten Hand kurz auf den Torpfosten und - schwupp - schwang er die Beine in hohem Bogen über die bedrohlich nach oben weisenden Spitzen des Törchens, um dann sicher auf dem Bürgersteig zu landen.
Ein kurzer Blick zurück: Ha! - Dieses Gartentörchen würde ihm von nun an nichts - aber auch GAR NICHTS - mehr anhaben können!

Von diesem Morgen an war das verklemmte Gartentor kein Hindernis mehr, welches für Verärgerung sorgte. Stattdessen war es eine allmorgendliche Herausforderung, die es zu bewältigen galt - und deren erfolgreiche Bewältigung die Weichen stellte für einen ebenso erfolgreichen Tag - zumindest bis gestern ...

Wie schon gesagt:
Donnerstagfrüh, kurz vor sieben. Der Businesskasper Herr P. aus D. verlässt wie jeden Morgen nach dem obligatorischen Abschiedskuss für seine Gattin sein schickes Einfamilienhaus. Adretter dunkelblauer Mantel, mit Schlips und Kragen hackt er in seinen polierten italienischen Schuhen äußerst dynamisch auf sein heiß geliebtes Motivations-Managertrainings-Gartentörchen zu ... - bereits routiniert stützt die Rechte sich auf den Pfosten, während die Linke die Aktentasche einklemmt und der Körper sich anspannt und zum Sprung bereit macht - mittlerweile kann Herr P. bei dieser ganzen Aktion sogar strahlend den Fußgängern auf der anderen Straßenseite zulächeln - die Füße heben hab - Schwung - und ... bleiben an einer der Jägerzaunspitzen hängen ... - und Herr P. schlägt - die Aktentasche immer noch fest unter dem Arm eingeklemmt - mit dem Gesicht zuerst auf dem Gehweg auf, wobei schließlich auch die Aktentasche sich befreit, den Gehweg entlang schliddert, dabei ein paar Papiere und ein Designer-Notebook freisetzt und in der regennassen Gosse zum Erliegen kommt.

Peinlich. Schmerzhaft. Vor allem für's Ego. - Abgesehen davon, dass Herr P. aufgrund der notwendigen Rückkehr ins Haus, Verarztung durch seine Frau, Wechsel der Kleidung etc. ein äußerst wichtiges Meeting an diesem Morgen wenn auch nur knapp verpasste, verlief dieser Tag alles andere als erfolgreich. Die enorme positive Bedeutung, die er seinem Gartentörchen in den letzten Wochen abgerungen hatte, verkehrte sich nun ins komplette Gegenteil: mit weichen Knien und total verunsichert - ein häßliches und für sein Empfinden riesiges Heftpflaster im Gesicht - trat er an diesem Tag sowohl Kunden als auch Geschäftspartnern gegenüber. Ihm fehlte der Biss - er konnte sich nicht konzentrieren, war permanent mit der Frage beschäftigt, wie das hatte passieren können.
Und so nahm er kaum wahr, dass er den zwingend notwendigen Investor nicht hatte überzeugen können, dass somit die Zukunft der Firma auf's Äußerste gefährdet war, mit Sicherheit einige tausend Entlassungen notwendig werden würden, sein Chef ihn am liebsten schon jetzt durch den Fleischwolf gedreht hätte und und und ...

Dieser Morgen würde nicht nur sein Leben sondern eben auch das zahlreicher anderer Mitarbeiter der Firma gravierend verändern. Später erfuhr er, dass der an diesem Tag abgesprungende Investor kurz darauf bei einer osteuropäischen Konkurrenzfirma erschienen und dort offensichtlich weit mehr überzeugt worden war. Mit dem frischen Kapital war diese Firma kurze Zeit später sogar in der Lage mit einer anderen Firma zu fusionieren, wodurch die Marktstrukturen in dieser Branche sich komplett veränderten. Eine ganze Reihe von kleineren Firmen musste schließen, Produktionen wurden ins Ausland verlagert, Arbeitskräfte freigestellt etc. etc.

Und warum das alles? - Viele Wochen nach dem Vorfall wagte Frau P. endlich, ihrem Mann von ihrer Gartentörchen-Reparaturaktion zu erzählen. Am Vortag des omminösen hier nun schon mehrfach erwähnten schwarzen Donnerstags nämlich hatte sie sich daran erinnert, wie ihr Mann kürzlich die klemmende Esszimmertür wieder gefügig gemacht hatte, indem er die Tür kurzerhand ausgehängt und dann je eine Unterlegscheibe auf die beiden Scharniere gesteckt und die Tür wieder eingehängt hatte. Verbunden mit ein paar Tropfen Öl hatte diese Maßnahme Wunder gewirkt. Warum also sollte auf diese Weise nicht auch das Gartentörchen wieder gängig gemacht werden können ....

Funktionierte ja auch - nur dass EINE Unterlegscheibe alleine nicht ausreichte, weil sich die Bodenplatten offenbar deutlich gehoben hatten. Also packte sie mehrere Unterlegscheiben unter die Scharniere, woduch der Abstand vom Boden zur Oberkannte des Törchens um rund 4 Milimeter vergrößert wurde.
4 Milimeter, die nicht nur Herrn P. zum Verhängnis wurden sondern - ähnlich wie der Flügelschlag des Schmetterlings im Amazonas Urwald (sehr anschaulich auch hier dargestellt) - weitreichende Konsequenzen in einem bedeutenden Teil der Weltwirtschaft nach sich zogen.

Liebe Ehefrauen, nun wisst ihr hoffentlich, warum uns Männern immer mulmig wird, wenn ihr Werkzeug in die Hand nehmt ... - Den Spruch: "Was soll denn schon passieren ... " will ich in diesem Zusammenhang jedenfalls nie wieder hören!

38-32-Ü40 Männermaße

Ich kaufe mir seit vielen vielen Jahren meine Klamotten selbst. Wobei mir "Shoppen" bei Bekleidungsstücken fremd ist. Da agiere ich eher zielgerichtet. Ich kaufe mir auch nicht EINE Hose, weil gerade diese so cool ist - nein, ich kaufe 4 Hosen, weil ich halt mal wieder welche brauche, genau so, wie wenn das Klopapier zu Ende geht. (Aber keine Angst: ich kaufe öfter Klopapier als Hosen ...)

Zu Jugendzeiten - und auch noch eine Weile danach - gab es beim Hosenkauf immer ein ganz wichtiges Kriterium: Wie stark läuft die Hose nach dem ersten Waschen ein? Hosen mussten ja prinzipiell so eng wie möglich sein, damit der Knackarsch (ja, es gab Zeiten, da hatte ich sowas mal ...) auch so richtig zur Geltung kam. Aber das war eben jedes mal ein Pokerspiel: Die Hose, die im Laden noch so eben passte, konnte nach dem ersten Waschen u. U. reif sein für die Altkleidersammlung, weil auch mit Hilfmitteln wie Rohrzangen etc. der oberste Knopf und/oder der Reißverschluss sich einfach nicht mehr schließen ließen.

Diese Einlauf-Gefahr war damals allgemein bekannt. Ich erinnere mich noch gut daran, wie meine eigene Mutter (manchmal ließ es sich als Jugendlicher nicht vermeiden, diese ungewünschte Kaufberatung neben sich zu haben ...) oftmals die Verkäuferin fragte: "Wie stark läuft die denn ein beim ersten Waschen?" - Auch andere Mütter - und bisweilen mich selbst - hörte ich das fragen.
Blöde Frage eigentlich. Denn woher bitteschön hätten die das wissen sollen?! Hätte es Herstellerangaben zur Einlaufgefährdung gegeben, so hätten die sicher mit auf dem Etikett gestanden, so dass die Frage überflüssig gewesen wäre. Dennoch so zu fragen, setzt ja voraus, dass die Verkäufer und Verkäuferinnen entweder aus eigener Erfahrung hätten berichten müssen, wobei nicht anzunehmen ist, dass so jemand sämtliche Hosen in sämtlichen Größen schon mal gewaschen hat - oder aber es hätte entsprechende Fortbildungen der Kaufhausketten geben müssen. Lustige Vorstellung, wie 50 Verkäuferinnen an einem Wochenende ein paar hundert Hosen waschen UND anprobieren, nur um den Einlaufgrad festzustellen ...

Wie gesagt: damals bestand das Risiko darin, dass die Hose nach dem ersten Waschen nicht mehr tragbar war. - Seit einigen Jahren nun beobachte ich eine andere Tendenz. Wann immer ich mir in den letzten Jahren eine Hose (oder vier) gekauft habe, dann geschah das immer in dem Bewußtsein, dass in meinem Alter die Taillenweite dazu tendiert etwas anzuwachsen. Also nix mehr mit knalleng - "bequem" soll sie sein. Da ich noch immer das oben geschilderte Einlaufsyndrom tief in mir verankert habe, kaufe ich nicht die Hose, die mir im Laden perfekt passt, sondern nehme dann sicherheitshalber lieber eine Nummer größer.

Nun geht es mir aber schon seit langem so, dass eben diese Hosen nach dem Waschen entgegen allen mir bisher bekannten Natur- bzw. Waschgesetzen nicht mehr ein- sondern ganz offensichtlich quasi auslaufen - sprich: größer werden! Ich vermute, dass die Hosenhersteller sich dabei etwas gedacht haben. Ab bestimmten Größen ist die Wahrscheinlichkeit groß, dass die Kunden zum Ü40-Kreis gehören. Und die Anzahl der gut gebauten schlanken Körper nimmt bei uns männlichen Wesen (spätestens) ab dieser Schwelle meist ab. Da Mode meist eben doch für Frauen gemacht wird - und diese wie jeder weiß, ab einem bestimmten Alter häufig an wachsendem Realitätsverlust leiden, was die eigenen Körpermaße angeht ... (nicht schlagen ... - mir kommt's jedenfalls so vor, gehen Sie nur mal in die Damenabteilung und achten Sie darauf, wie häufig bei den Ü30-Damen dort der Spruch fällt: "die fällt aber SEHR klein aus ..." - Frauen probieren auch grundsätzlich erstmal eine "Wunschgröße" an ... - bevor sie dann zu den Realgrößen wechseln) - nun also, ich denke mir, dass die Bekleidungshersteller - vorschnell - bei uns Männern von einem ähnlichen Verhalten ausgehen und zur Sicherheit dafür sorgen, dass Hosen in diesen Größen nicht mehr einlaufen - sondern einen Tick größer werden nach dem Waschen.

Liebe Bekleidungshersteller, das mag ja gut gemeint sein. Aber wir Männer sind anders gestrickt. Spätestens ab 40 finden wir uns damit ab (was nicht heißt, dass es uns egal ist ...), dass der Bauchumfang sich anders entwickelt als mit 20. Und weil wir in so einem Alter eben mehr auf Bequemlichkeit stehen als darauf, uns unsere Genitalien abklemmen zu lassen, wählen wir schon von selbst lieber eine Nummer größer. Von daher wäre es hilfreich, wenn solche Hosen, die zu den Aus- statt Einläufern zählen, entsprechend markiert wären, z. B. 38-32-Ü40. Denn dann wüssten wir Bescheid - und ich müsste mir jetzt nicht extra wieder mal einen Gürtel kaufen für meine 4 neuen Hosen ...

Checkboxes in admin interface – a quick & dirty trick

If you add enum-fields to a table and want to make them editable in an admin menue you are faced to the fact that if the box is not checked - no parameter is passed to the according PHP-script. Normally you would have to write a small module of the according class containing the save function with something like this:

if(!isset($aParams['nameOfCheckboxField']))
    $aParams['nameOfCheckboxField'] = 0;

Writing a module for such simple stuff is a bit overhead. So what you can do instead in the according template is:

<input type="hidden" name="nameOfCheckboxField" value="0">
<input type="checkbox" name="nameOfCheckboxField" value="1">

So now, if the checkbox is checked, the parameter nameOfCheckboxField with value "1" is posted to the PHP script. If the checkbox is not checked then the value of the hidden field is posted - and you don't need any module at all.

Off course this might not be totally valid code. But in the backend I would not care about validation as much as about functionality.

Backend Extensions: additional fields

From a developers view the reason why I like the Oxid eShop is, that quite a view things are very easy to customize. One of these things is adding your own fields to tables in the database and make them editable through the backend interface. Here is how to do it:

Let's say you want to add a field MY_FIELD to the oxarticles table and want to put a new form field into the main article menue to edit the content of the new table field.

First of course add the field to the database using phpMyAdmin or whatever tool you use for your db-administration. Now look for the template which has to be extended for adding the form field. If you don't know how to find the right template, do the following:

Open the admin interface, open menue Administer Products -> Products and klick on an article of the list at the top of the page. Now, if you move your mouse over the tabs (Main, Extended, Inventory etc.) have a look at the status bar at the bottom of your browser. There you will see something like this: javascript:ChangeEditBar( 'article_main', 0); - which shows you the name of the PHP-class - and file - which is called by clicking on that tab. The templates are named the same. So if you see 'article_main' you cann be sure that a.) the used class is called article_main.php and the according template is called article_main.tpl (I assume that the locations of admin view classes and templates is known).

Well, so open the template article_main.tpl with an editor. If your new field is a text-field, look for a similar field in the already existend code. For example you could take the searchkeys-field:

<tr>
<td class="edittext">
[{ oxmultilang ident="ARTICLE_MAIN__OXARTICLES__OXSEARCHKEYS_RR" }]&nbsp;
</td>
<td class="edittext">
<input type="text" class="editinput" size="32" 
  maxlength="[{$edit->oxarticles__oxsearchkeys->fldmax_length}]" 
  name="editval[oxarticles__oxsearchkeys]" 
  value="[{$edit->oxarticles__oxsearchkeys->value}]">
</td>
</tr>

(This is an example of the OXID EE code - PE is slightly different but the differences are obvious.)

So now just copy that table-row an paste it to the end of the table before the section with the submit button. Afterwards changed the used variables to the names of your table field:

<tr>
<td class="edittext">
Title of my field
</td>
<td class="edittext">
<input type="text" class="editinput" size="32" 
  maxlength="[{$edit->oxarticles__my_field->fldmax_length}]" 
  name="editval[oxarticles__my_field]" 
  value="[{$edit->oxarticles__my_field->value}]">
</td>
</tr>

Now you can fill out your new field and save the content to the database.

My collection of oxid hints

Triggered by I a training I did some days ago I got the idea to build up a collection of hints and informations about customizing the oxid eshop software. Cause one of the participants of my training was australian I had to do it in english - and that again caused me to write my oxid-stuff here in english, too, as there are not many oxid related ressources yet for developers around in englisch language. And german coders will certainly understand the english stuff too, I think.

I hope that might be helpful for some people.