TYPO3-Extension sm_employeelist finished and published

It took me quite a long time but now I have finished my TYPO3-extension sm_employeelist. Everybody feel free to download it from the TER: sm_employeelist in the TER.

Because TYPO3.org has problems converting the extensions‘ manuals at the moment, I will give you a short overview about what my extension can do for you 😉

  • The extension sm_employeelist manages a company’s employees (the TYPO3 front end users), departments (TYPO3 front end user groups), positions and telephone numbers.
  • You can create a bunch of nice lists, e.g. a telephone list, presence list, image list etc.
  • Every employee has its own details page with his stats, image etc.
  • Here are some screenshots:
    • A simple employee list
      employeelist_employeelist.jpg
    • A department list (sorted by employees‘ priorities)
      employeelist_departmentlist.jpg
    • A (printable) telephone list
      employeelist_telephonelist.jpg
    • An employee’s details page (no, these are not my real stats ;))
      employeelist_employeedetails.jpg
    • Configuration of the extension in the TYPO3 back end
      employeelist_configurationbackend.jpg

Looks nice, huh? 😀

If you want, you can contact me with wishes/suggestions for the next version of the extension. This is the first release and the extension is still under heavy development…

(Thanks to Benjamin Keen for his Data Generator and the Tango Desktop Project for their nice icons.)

Über Stefan

Polyglot Clean Code Developer

105 Kommentare

  1. Moin!

    Ich habe versucht Deine extension zu installieren, aber sobald ich sie aktiviere werden keine Seiten mehr generiert:

    Parse error: parse error, unexpected T_STRING, expecting ‚{‚ in /typo3conf/ext/sm_employeelist/pi1/class.tx_smemployeelist_pi1.php on line 155

    Woran mag es liegen?

    Grüße aus Bremen!

  2. Liest eigentlich niemand die Dokumentation, bevor er etwas ausprobiert? Die „Requirements“ sagen doch klar, dass man PHP5 benötigt, oder nicht? 🙂

  3. sorry, ich habe nur bei den Dependencies nachgesehen…

  4. Kein Problem 🙂

    Die Fehlermeldung kommt daher, dass PHP4 keine Interfaces unterstützt. Ein solches wird in der Zeile aus der Fehlermeldung verwendet…

  5. Hallo Stefan, gibt es denn eine Version, die auf PHP 4.4.7 läuft oder gibt´s evtl. die Möglichkeit, trotzdem die Verion 1.1.0 zu installieren?
    VG – Thomas

  6. Mhh… du könntest versuchen, die Interfaces, die ich verwende (und die PHP5 benötigen) umzuprogrammieren (sind glaube ich nur 2-3 Stellen im Source). Das sollte relativ schnell möglich sein. Aber ich habe dafür leider keine Zeit.

    Anfang des nächsten Jahres werde ich ein großes Refactoring der Extension vornehmen, wobei ich mich allerdings weiterhin auf die Funktionen von PHP5 konzentrieren werde. Ob ich sie aber voraussetze, weiß ich noch nicht. Ich rate dir daher, PHP5 zu installieren…

  7. Hallo Stefan,

    zunächst mal vielen Dank für Deine Antwort. Leider kann ich mit Interfaces und PHP5 oder 4 relativ wenig anfangen. Dann muss ich wohl warten, bis mein Management-Server (1&1) auf PHP5 umgestellt wird. Finde Deine Extension super klasse. Hatte nur auch, wie Kai, die Vorraussetzungen nicht gelesen und einen riesen Schock bekommen, als nach der Installation garnix mehr ging ;-)… Vielleicht hat ja jemand den Source schon mal angepasst? Würde mich freuen.
    VG Himmi

  8. Hallo Stefan
    Vielen Dank für die Extension. Habe sie seit 2 Tagen in unserem Intranet am Laufen, und alle sind begeistert!

    Ich habe nun leider noch einige Ungereimtheiten gefunden, die ich mir nicht erklären kann:
    1. Die Telefonliste zeigt zwar korrekt das Datum der letzten Aktualisierung an, aber es werden keine Datensätze angezeigt. Die Usergroups haben alle das Flag „show in telephone list“ aber keine column und vertical position. Sobald ich diese nämlich angebe, erscheint eine leere Seite.
    2. Die Department- und Positions-Listen zeigen zwar alles korrekt an, aber wenn ich drauf klicke, lädt die Seite neu aber die Anzeige ändert sich nicht. Employeelist-PageId ist definiert, er wechselt auch nicht dorthin. Wenn ich beide Plugins auf die selbe Seite tu –> leere Seite. Wenn ich auf der Detailseite auf ein Departement klicke, springt er auf die Liste zurück mit dem Department-Parameter, aber es werden alle User angezeigt anstatt nur die gewünschte Auswahl.

    Das PHP-Log bei Ausgabe der leeren Seite ist:
    [24-Oct-2007 15:34:02] PHP Catchable fatal error: Object of class smEmployee could not be converted to string in /var/www/intranet/typo3conf/ext/sm_employeelist/classes/class.smTools.php on line 82

    Ich schau mir den Code mal näher an. Vielleicht kannst du mir jedoch gleich was dazu sagen.

    Gruss und Danke nochmals für die Extension, treffe selten Extensions an die gleich alles abdecken was sie abdecken sollten 😉
    Mario

  9. Wenn ich die Zeilen um den Fehler herum auskommentiere, dann wird zwar nicht mehr sortiert, aber der Fehler taucht nicht mehr auf:

    // first sort by name
    /*
    foreach ($sorted as $k=>$v)
    {
    asort($v, SORT_LOCALE_STRING);
    }
    */

    Ich glaube das Problem hat was mit den Departements zu tun. Kann das sein? Hast du schon mal einer Person mehrere Departements zugewiesen?

    Der Array, der bei mir nun nicht mehr sortiert wird, kommt bereits einigermassen sortiert aus der DB. Jedoch sortiert er pro Departement neu. Das wäre ja auch richtig, aber nur solange eine Person nur einem Departement zugeteilt ist. Ist nämlich eine Person 2 Departements zugeteilt, wird diese Person später in der Telefonliste für das 2. Departement nochmals gelistet, aber in einem anderen Array als die Leute, welche NUR im 2. Departement sind.

    Es werden dann pro Departement 2 Arrays mit Personen ausgegeben, und dann sind die Leute natürlich nicht mehr sortiert (nur noch in ihrem eigenen Array.

  10. Deine Lösung habe ich vor einiger Zeit so bei mir auch umgesetzt. Ich hatte nämlich das gleiche Problem 🙂 Ich kann jetzt nicht mehr nachvollziehen, wie der Fehler zustande kommt, aber wir haben auch Personen mit mehreren Abteilungen…

    Wie weiter oben erwähnt, wird es bald ein Update geben, das einige Optimierungen enthält und solche Fehler beheben wird!

  11. Ah sehr cool, das freut mich.
    Vielleicht kannst du mir da noch ein wenig helfen: Wenn ich eine Departementsliste habe und auf ein Departement draufklicke, dann soll auf der gleichen Seite eine Mitarbeiterliste angezeigt werden, korrekt? Und über die Flexform kann ich ja dann bestimmen, welche Felder angezeigt werden.

    Und ich nehme auch an, dass dies bei der Positionsliste 1:1 auch so funktioniert.

    Kann es da Probleme geben mit Caching? Ich habe hier oft das Phänomen, dass die Departementsliste einfach wieder angezeigt wird anstatt die entsprechende Mitarbeiterliste. Wenn ich dann den FE-Cache lösche, funzt es ein paar mal. Habe leider noch kein Muster erkennen können…

  12. Ja, Caching ist ein Problem. Ich habe das Caching für alle Seiten ausgeschaltet, auf denen meine Extension läuft und auch den entsprechenden Haken in der Flexform von sm_employeelist rausgenommen. Jetzt läuft bei uns alles so, wie es soll 🙂

  13. Hallo!
    Danke für diese Extension. Aber ich habe ein Problem. Wenn ich es
    installiere, mehr schlägt sich nichts in frontend an. Wüßtest du,
    aus dem das stammen kann?
    danke im voraus. Und Verzeihung für mein vielleicht seltsames Deutsch… ich bin französisch sprechend…

  14. Hast du das static template eingefügt? Siehe Installationsanleitung

  15. Ja natürlich bin ich ganzen tutorial gefolgt. Das, was ich nicht begreife, ist es, daß ich es auf einem anderen Standort installiert habe typo3, und das funktioniert. Ist es, daß es durch den Standort ist ist mehrsprachig? was benutzt er realurl? oder, weil es zwei Seiten „root“ gibt?

  16. ich machte einige Tests… ich denke also, daß das Problem von meinem host kommt, das installiert hat php4 und php5. Wenn das dich beruhigen kann, kommt das nicht von deiner Extension!

  17. Ok. Wenn du doch noch Probleme haben solltest, kannst du mir gerne mailen…

  18. Hi Stefan, gibts irgendwelche News von der Extension? Schon lange nichts mehr gehört 🙂

    Gruss
    Mario

  19. Uiii, dein „captcha ähnlich“ sieht aber grausig aus 😉

  20. Hi! Neee, leider gibt’s noch nichts Neues von der Extension 🙁 Habe gerade einige andere Sachen, die wichtiger sind… aber vielleicht setze ich unseren Azubi bald mal da ran 😉

    Was meinst du mit „captcha ähnlich“? *confused*

  21. Wenn ich hier einen Kommentar abschicke, komme ich auf eine leere Seite mit nur dem Titel: Captcha ähnlich… und darunter eine Captcha-Eingabe. Wenn ich das eingegeben habe, kommt ne leere Seite, und ich muss manuell auf den Post zurück…

  22. Aha, jetzt nicht mehr. Gester war das noch so…strange…

  23. Hmm… sehr seltsam. Also ich habe gestern zumindest nichts ausprobiert oder so…

  24. hi, also diese extension scheint wirklich interessant zu sein. hbe auch schon versucht sie zu installieren, bekomme dann aber diese fehlermeldung und die ganze seite funktioniert nicht mehr:

    Parse error: syntax error, unexpected T_STRING, expecting ‚{‚ in /kunden/…/…/typo3conf/ext/sm_employeelist/pi1/class.tx_smemployeelist_pi1.php on line 155

    weiter oben stand das php5 benötigt wird. dieses ist bei meinem webspace auf jeden fall vorhanden. ist es ein fehler in der php? oder warum bekome ich diese fehlermeldung?

  25. @katjusha: Siehe Kommentar Nr. 1. Du hast definitiv kein PHP5.

  26. hast recht. für meine domain war php5 tatsächlich nicht installiert.
    jetzt ist es aber drauf und die installation von sm_employeelist war erfolgreich. ein problem gibt es aber noch: habe static (from extension) installiert, plugin eingefügt und auf den sysordner mit den webseiten-benutzern verwiesen, es werden auf der seite mit der mitarbeiterliste aber „0 benutzer“ angezeigt.
    hab ich da was falsch verstanden? also die extension soll doch eigentlich die normalen frontend-benutzer anzeigen oder? was könnte ich da noch übersehen haben?

    grüße, katjusha

  27. oops, da hab ich wohl nicht so genau hingesehen. sorry, will hier eigentlich auch keine überflüssigen fragen stellen.
    eine andere sache ist mir aber noch aufgefallen zu den positions. in der doku steht:
    „Once you installed the extension, you cannot save an employee / front end user without assigning him to a position.“
    kann ich so leider nicht bestätigen, das zuordnen einer position geht bei mir nur im BE, nachdem die registrierung abgeschlossen ist.
    und erst dann und auch erst nachdem man in der flexform vom benutzer „anzeigen in mitarbeiterliste“ aktiviert, wird er auch in der liste angezeigt. ich fände es gut, wenn das gleich automatisch stattfinden würde und vermute mal das es eigentlich auch so gedacht ist?!

  28. hallo nochmal,
    habe jetzt einen neuen anlauf mit deiner schönen extension gestartet. ich habe ein bisschen verständnisschwierigkeiten bezüglich der positionen. also scheinbar werden in der liste nur mitarbeiter angezeigt, die einer position zugeordnet sind. wie bekomme ich es nun so hin, das nach dem registrierungsvorgang mit sr_feuser_register ein neuer besucher automatisch einer position von sm_employeelist zugeordnet ist? habe schon einige sachen nachgesehen, zb. ob man die bestehenden benutzergruppen einer position zuordnen kann etc. aber nichts dazu gefunden. habe ich vieleicht etwas ganz einfaches übersehen? kannst du mir dazu einen tip geben?

    grüße, katjusha

  29. Also eine automatische Zuweisung von Positionen anhand von Gruppenzugehörigkeit ist nicht möglich. Wenn du so etwas machen willst, musst du dir was programmieren… Ich weiß nicht, welche Möglichkeiten sr_feuser_register so bietet, vielleicht kann man die Funktionen ja dort erweitern!?

    Alternativ kannst du natürlich in der MySQL-Datenbank den Defaultwert für die Spalte sm_employeelist_positions auf die ID deiner Standardposition legen.

  30. Hi hi, habe die Extension eben auch mal angetestet und bin erfreut über den Funktionsumfang. Leider bekomme ich die Detailseite nicht hin. Habe extra eine Seite angelegt mit der ID 152. Muss ich dort auch nochmal das Plugin einfügen und wie gebe ich hier an wo das Template für die Detaislseite liegt? habe einfach mal den Pfad „typo3/conf/ext/sm_employeelist/tpl/employeeSingleView.html“ dort im Backend eingetragen, geht aber nicht. Das tutorial sieht hierfür nix vor.

    Danke für die Hilfe

  31. @Endolino: Soweit ich das gerade noch weiß, musst du nicht den vollständigen Pfad zum Template angeben, sondern nur den Dateinamen. Und dann musst du auf den Listenseiten angeben, dass deine Detailseite die ID 152 hat, damit darauf verlinkt wird. Auf der Detailseite muss das Plugin auch eingefügt werden und dann halt als Detailseite (dort konfigurierst du ja auch die Templatedatei). Lass das Feld mit der Templatedatei doch einfach mal leer, dann sollte das Standardtemplate verwendet werden…

  32. Yoh Yoh, hat funktioniert. Super Support von deiner Seite, wirst natürlich in der Diplomarbeit erwähnt!! 🙂
    Habe noch ein Problem, habe nun ein Seite angelegt wo ich nur die Gruppen ausgebe, klicke ich eine an, sollen ja nur Personen aus dieser Gruppe angezeigt werden. Leider ist das hier nicht der Fall und komme zur gleichen Übersicht zurück.

    Noch ne kurze Frage, teste im Moment lokal auf Txypo 4.1.6, meine Diplomarbeit läuft aber auf Typo 4.2. Sind da Probleme bekannt?

    Wenn ja kann ich gleich einpacken :-(, habe kaum noch Zeit was umzubauen.

  33. ihhhhhhh habe noch was gefunden,

    Catchable fatal error: Object of class smEmployee could not be converted to string in C:\www\cms2\typo3conf\ext\sm_employeelist\classes\class.smTools.php on line 82

    wenn ich ->

    http://localhost/cms2/index.php?id=153&tx_smemployeelist_pi1%5BdeptID%5D=2

    aufrufe, HILFE 🙁

  34. Okay habe Alles gelöst, habe die entsprechenden Zeilen einfach auskommentiert, reicht auch für miene Zwecke.

    Hast du vielleicht noch nen kleinen Tipp für mich wie ich mehrere Photos einer Person darstellen kann?? Also das mehrere Photos dargestellt werden.

  35. Habe die Fehler gefunden und behoben. Trotzdem Danke.

  36. @Endolino: Die Extension läuft bei mir auch unter 4.2.1 problemlos. Den catchable error kannst du wirklich einfach auskommentieren. Mehrere Fotos funktionieren mit dieser Version leider nicht 🙁

  37. Hallo Stefan,

    deine entwickelte Extension ist wirklich klasse. Sie läuft wirklich super. Jetzt aber zu meinem Problem und ich hoffe, du kannst mir dabei helfen.
    Im Firefox sieht die Employee List normal aus, so wie auf deinen Screenshoots. Aber im IE sind keine Formatierungen mehr da. Die Mitarbeiter werden untereinander aufgeführt (inkl. „zurück nach oben“).
    Woran kann das liegen? Hast du eventuell einen Tipp für mich?

    Danke im voraus!

  38. @Anja: Welche IE-Version nutzt du denn? Im IE7 sollte alles passen, abe im IE6 kann es mit einigen CSS-Klassen Probleme geben. Dann müsstest du die manuell an deine Anforderungen anpassen…

  39. Hallo Stefan,

    ich habe es im IE5, IE6 und IE7 getestet und überall sieht es gleich aus. Überall ist diese Listenform, ohne Formatierungen. Ich habe auch schon meine eigene HTML und CSS Vorlagen öfters geändert. Keine Änderungen.
    Ich bin am verzweifeln. Welche Datei müsste ich dann anpassen? Deine Dokumentation habe ich zwar durchgelesen, aber nicht den richtigen Passus gefunden. Bitte, bitte hilf mir.

  40. Hast du vielleicht einen Link zu der Seite, damit ich mir das mal anschauen kann? Also das kann ja eigentlich nur an falsch oder gar nicht interpretiertem CSS im IE liegen… allerdings läuft die Extension bei mir im IE6/7 einwandfrei.

  41. Hallo Stefan,

    du hattest recht. Ich hatte vergessen folgendes im Setup des Haupttemplates folgendes einzutragen:
    config {
    doctype = xhtml_trans
    xhtml_cleaning = all
    xmlprologue = none
    htmlTag_langKey = de
    }

    Jetzt sieht alles schick aus – Danke für den Hinweis!

  42. Sorry,

    aber es sieht nur im IE7/FF normal aus. Der IE6 weigert sich die Darstellung anzuzeigen.
    Ich würde dir gerne den Link schicken, aber zurzeit liegt noch alles lokal.
    Muss ich vielleicht noch eine Browserweiche einbauen oder habe ich was vergessen im setup einzutragen?

    Gruß
    Anja

  43. Das Problem mit dem IE6 kenne ich. Ich verwende in meinen Styles Selektoren, die der nicht verarbeiten kann, die müsstest du ersetzen. Es handelt sich um diese Selektoren: [class^=sm…]

  44. Oh Gott, oh Gott – ich arbeite gerade mal 3 Monate mit Typo3 und bin noch nicht so fit wie du. Jetzt weiß ich gar nicht was du meinst.
    Finde ich die Classes hier: „typo3conf\ext\sm_employeelist\classes“ und was muss dort geändert werden?

    Falls das jetzt zu weit geht, dann entschuldige bitte die Störung und vielen Dank für deine Unterstützung.

    Gruß

    Anja

  45. Hi Anja: Kein Problem 🙂

    Ich meine aber nicht die PHP-Klassen (unter classes), sondern die CSS-Klassen, die für die Gestaltung zuständig sind: http://de.wikipedia.org/wiki/Cascading_Style_Sheets

    In deinem Stylesheet (einer *.css-Datei) findest du die entsprechenden Selektoren, die der IE6 nicht unterstützt (die oben genannten). Allerdings kann ich dir jetzt leider keine Einführung in CSS geben, das würde etwas lange dauern 🙁

    Alternativ kannst du einfach auf Version 2.0 der Extension warten, da ist das Problem behoben 😉

  46. Hallo Stefan,

    danke für die schnelle Antwort. CSS ist für mich kein Fremdwort.
    Aber ich warte dann lieber doch auf die neue Version.
    Nur so für dich zur Info – Ich nutze das Urbannomad Template.

    Gruß

    Anja

  47. Hi Stefan,
    erstmal gratuliere ich dir für deine ausgezeichnete Extension…bei uns in der Firma habe ich sie als Telefonbuch unserer Mitarbeiter angewandt und hat sich schnell als eine der wichtigsten Intranetseite bewiesen…nun hat sich folgendes ergeben, und vielleicht ist eine einfache Anpassung die ich übersehen habe: Wir haben einige Namen die entweder mit „Ü“ oder „Ö“ beginnen…oder Namen die „ö“, „ä“ und „ü“ enthalten…und das Problem ist auf dem Frontend, diese Namen werden nicht in die richtige Ordnung sortiert. Zum Beispiel „ö“ und „ü“ erscheinen zuerst vor „o“ oder „u“.

    Danke für deine Zeit und Unterstützung.

  48. Noch was wichtiges dazu…meine praktische Lösung war einfach die jeweilige Umlaute mit den normalen 2 Buchstaben zu ersetzen: „ae“, „oe“ und „ue“.

  49. @Kuai: Kann es sein, dass dein Problem an MySQL liegt? Das selbe hatte ich auch und konnte es beheben, indem ich die korrekte Kollation in MySQL eingestellt habe…

  50. Habe jetzt das ausprobiert….jeweils die Kollation der Tabellen mit utf8_general_ci und latin1_german1_ci eingestellt, aber übt keine Wirkung bei der Sortierung aus…obwohl die Kollation ursprünglich als latin1_swedish_ci gestellt war…

    Ich habe das direkt mit phpMyAdmin geändert, da ich keine andere Weise kenne…Kannst du mir genau sagen welche Datensätze mit den Namen der Mitarbeiter verknüpft sind?

  51. First of all, excuse me for the fact that I write this message in english.

    We have been using your extension on a website and it is working great. However, the customer doesn’t want to see all the employees on 1 page (in employeelist mode) but rather all employees having their surname start with the letter A on a page, employees starting with B on another page and so on.

    Is there an easy way to implement it or does the extension code to be rewritten to allow for this functionality?

    I have been trying to prepare a link in the GetAnchorList() (class.smEmployeeList.php) function with the function pi_linkTP_keepPIvars_url, but I assume I have to implement an interface first before this function is available in this class? I vaguely remember that I have to use this function if in a later stage I want to have RealURL be able to work with this link as well?

    Although I have been programming in PHP for over 8 years now I still find it extremely difficult to understand the extension structure in Typo3.

    Hope you can provide me with some more information

  52. Mark, as I am not the PHP specialist, I would solve it with pure JS. The links to the letters works with anchors already (instead of page reloads). So in my mind it should be very easy to create a Javascript based „paging“.

    This way you don’t have to change Stefans extension.

    Here some links to show you what I mean:
    http://www.stilbuero.de/2006/05/13/accessible-unobtrusive-javascript-tabs-with-jquery/
    http://www.barelyfitz.com/projects/tabber/

    Of course no solution if you need „real“ paging. But this could be much faster for the user because no pageload is needed.

    Cheers
    Mario

  53. @Mark: To get functionality like the one you describe you will definitely need to change the code. But I have to admit that on top of the TYPO3 structure that is already pretty hard to understand you will then have to understand my extension’s structure, too 🙂 The functionality to split the employee list into multiple pages was not my primary priority in the extension simply because we don’t use it. In version 2.0 (which I am programming at the moment) this will be handled way easier but it will take me some more months to code it. However, the additional code to provide you with the wanted functionality should not be too complicated but I cannot provide any help at the moment.

  54. Thanks guys for your answers. I forwarded your reactions to a colleague of mine who will have to inform the customer.

    Meanwhile I noticed that a couple of new Typo3 books have been published (I only bought the Typo3: Enterprise Content Management book), but yesterday I also bought the other 3 books. Hopefully they can help me with understanding Typo3 and specifically programming extensions a lot better.

    Thanks a lot,

    Mark..

    P.S. Stefan: When I had a browse through your code I found it very logical and very easy to read (not that I understood everything of it). I think my personal bottleneck is that I don’t have enough experience with OOP. And Typo3 is completely OOP and so are extensions.

  55. sali stefan
    ich habe ebenfalls deine extension im einsatz, dabei ist mir eine kleinigkeit aufgefallen. in der detailansicht eines mitarbeiters werden unten zwei links angezeigt, prevEmployee und nextEmployee. bei mir wird aber als prevEmployee immer der aktuelle mitarbeiter angezeigt und auch gelinkt. ich bin bei der fehlersuche auf die funktion „GetNextEmployees“ in der datei class.employeeList.php gestossen, konnte aber das problem nicht beheben. wäre toll wenn du mir weiterhelfen könntest.

  56. @Pascal: Da bist du schon an der richtigen Stelle! Du musst leider selbst weitersuchen, da ich momentan keine Zeit habe dir zu helfen. In Version 2.0 (die irgendwann mal rauskommt) wird das Problem sicherlich gelöst sein 🙂

  57. @Pascal

    Sorry for my reply in english…but we initially had that as well.
    This was caused by the way they had filled in the name.
    The documentation says it needs: „surname, firstname“ but if you have been using: „firstname lastname“ (beware of the missing comma) than prevLink on the detail page indeed doesn’t work.

    So, change the name to „surname, firstname“ (without double quotes) and then we got it back to work the way it should.

  58. That was it, many thx!

  59. Hallo,

    trotz meine php 5.2.6 kann ich nicht auf die Seite zugreifen, wo ich die Extentions hinzugefügt habe. Ich konnte nur ein mal direkt nach der Installation des Plugins auf die Seite zugreifen, aber bekamm nur keine Mitarbeiter zu sehen.
    Erst nachdem ich unter der Administrationsmenue die Optionen angeklickt habe, dass der User in der Tel-liste erscheinen soll, ist die Seite auch verschwunden.
    Kann jemand sagen, was ich falsch mache, bzw. wie bekomme diesen wunderbaren Extention zum laufen?

    Gruß Fatmir

  60. @Fatmir: Hast du die Installationsanleitung befolgt und insb. die static templates aktiviert?

  61. Ja habe ich die templates aktiviert.
    Unter der Info/Modify Ansicht der Template sind die ext. zu sehen, dass sie hinzugefügt sind. Bei der Constanteneditor sind sie aber nicht.
    Als Code habe ich unter Setup, folgendes hinzugefügt:
    ### Employeerlist
    plugin.tx_smemployeelist_pi1 {pidList = 24}
    plugin.tx_smemployeelist_pi1 {flexform {general {detailsPage = 24}}}

    Als Seiteninhalte kann die die Mitarbeiterliste und die Veranstaltungsliste ganz normal hinzufügen, leider aber dauert sehr lange bis die Seite geladen wird und dann ist sie auch leer.

    Was mache ich falsch?

    Danke

  62. Hallo Stefan,

    wie ich aus den letzten Beiträgen entnommen konnte, hast du einer Version 2 für die Extension geplant. Leider geht auch daraus hervor, dass du wenig Zeit dafür hast. Wie sieht es denn aktuell aus? Kann man mit einer neuen Version rechnen?
    Folgende Änderung würde ich gerne vornehmen – möchte mir das aber gerne sparen, wenn diese vielleicht in der neuen Version vorhanden ist.

    Von der Liste der Unternehmensbereiche kann man auf die Liste der dazu gehörenden Mitarbeiter gelangen. Allerdings klappt das nur für die direkten Verknüpfungen. Wurde ein Bereich mit „Unterbereichen“ gewählt, werden die Mitarbeiter der „Unterbereiche“ nicht mit angezeigt.

    Über eine kurze Info würde ich mich freuen.

    Gruß

    Marcus

  63. @Marcus: Sorry, die nächste Version wird noch dauern 🙁 Du kannst besser selbst loslegen anstatt zu warten…

  64. Hi Stefan

    First thanks for a great extension. I have a small problem that I hope you could guide me, regarding finding a solution.

    I have this list:
    name, email telephone

    I would like to have the comma (,) after the name, removed.

    I have looked in the ext/sm_employeelist/classes/class.smEmployeeList.php file, but I couldn’t find the the line to edit (my PHP skils are limited).

    What am I looking for? and where?

    Thanks
    Jan

  65. @Jan: I think I know what you mean… You have to enter the users‘ names in the backend in the following form: „surname, first name“. Otherwise it will tread the whole name as the surname and append an empty first name.

  66. Hi Stefan.
    The website-users of this website is imported via LDAP and the names I use for this list, comes from the name-fiels under ‚Personal Data‘. There is not a first name and a surname field.

    Jan

  67. Hallo Stefan,
    ich hätte eine kleine Frage bezüglich den Display settings. Wie kann ich „show in employee list“ per default aktivieren?
    Ich habe bereits versucht per PhPmyAdmin in der Tabelle Settings den Wert von 0 auf 1 zu setzen jedoch hat das nicht funktioniert (wenn ich einen neuen user anlege ist „show in employee list“ nach wie vor nicht aktiviert). Hoffe jemand kann mir helfen ><
    Mit freundlichen Grüßen
    Dominic

  68. Hallo nochmal,
    ich habe das mit dem default wert nun hinbekommen, indem ich den standardwert der tabelle tx_smemployeelist_settings auf 1 gesetzt habe. Danach habe ich in der Datei ext_tables in Zeile 188 bei t3lib_div::loadTCA(„fe_users“);
    t3lib_extMgm::addTCAcolumns(„fe_users“,$tempColumns,1);
    …..
    das tx_smemployeelist_settings rausgenommen habe.

    Nun habe ich ein neues problem><
    In der Datei sm_employeelist.php will ich erreichen, dass mein fullname wie folgt aussieht : Lastname, Firstname.
    Meine User sind aus Ldap importiert un ich habe bereits in der Tabelle fe_users die felder last_name und first_name.
    Leider habe ich wirklich keine Ahnung wo oder wie ich den fullname durch diese beiden in last_name und first_name enthaltenen werte ersetzen kann.
    Hoffe wirklich, dass mir jemand helfen kann^^
    Gruß
    Dominic

  69. @Dominic: Das mit dem default-Wert wollte ich gerade vorschlagen, aber du bist mir zuvorgekommen 🙂 Dein Problem mit dem Namen lässt sich recht einfach lösen. In der Klasse smEmployee wird ein Mitarbeiter aus dem DB-Array erzeugt. In den Zeilen 288-290 erfolgt die Aufspaltung des Namens. Dort kannst du einfach die Array-Werte entsprechend anpassen und dem Vor- und Nachnamen zuweisen.

  70. Hallo Steffen,
    erst mal danke für die Antwort…leider klappt dein Vorschlag nicht. Das liegt eventuell daran, dass unser Feld „name“ keine Kommatrennung zwischen Vor-und Nachname hat. Dafür habe ich die Felder „last_name“ und „first_name“, welche auch korrekt befüllt werden. Ich denke ich müsste also etwas in der art von
    $name = ‚last_name‘;
    $name .= ‚first_name‘;
    machen, um das DB feld „name“ korrekt zu befüllen(sprich Nachname Vorname)und das dann an der korrekten Stelle in deinem Code einfügen….
    Hoffe du kannst mir nochmal helfen^^

  71. Sorry meinte natürlich Stefan….hab mit nem Kollegen gesprochen der Steffen heisst und das durcheinander gebracht ><

  72. @Dominic: Genau das meinte ich auch! Lass dir doch mal das Array ausgeben, das die Datenbankabfrage dem Konstruktor von smEmployee liefert. Da drin müsstest du deinen Vor- und Nachnamen finden und diese Felder dann den entsprechenden Instanzvariablen zuweisen!

  73. Hallo Stefan,
    ich habe nochmal ein Problem. Wir haben per extension ein weiteres Feld in der Datenbank angelegt genannt Lebenslauf. Dieses wollen wir nun im Template der Detail Ansicht mit einem eigenen Marker einfügen. Das Problem ist nun, dass wir nicht wissen, wie wir den von uns erstellten Marker mit den Daten aus dem DB Feld Lebenslauf füllen können. Wir sind soweit, dass der Marker im HTML Template durch zwei Divs + Überschrift ersetzt wird, der Inhalt aus unserer Datenbank allerdings nicht in den Marker geschrieben wird.
    Hoffe du kannst uns weiterhelfen.
    Gruß
    Dominic

  74. How to apply a filters to show specific groups in particular page ?
    I tried to hide users in specific website user group by selecting a group by „Hide employees in these departments“. But no employees are showing in frontend, even employees in other groups are also going to hide 🙁

    Not worked well for me

    Ganybhat

  75. Hi,

    nach dem ich endlich alle 60 Mitarbeiter eingepflegt habe kommt bei einigen eine Fehlermeldung wenn ich mir die Details anzeigen lassen möchte!?

    Fatal error: Object of class smPosition could not be converted to string in D:\xxxx\xxxx\typo3conf\ext\sm_employeelist\classes\class.smTools.php on line 101

    Ich benutze die Typo3 Version 4.4.4

    Gruß,
    Matthias

  76. im Typo3 LOG steht folgende Fehlermeldung:

    Core: Error handler (FE): PHP Warning: strftime() expects parameter 2 to be long, string given in D:\xxxx\xxxx\typo3conf\ext\sm_employeelist\classes\class.smEmployee.php line 762

  77. @Matthias: Du musst alle Datumsangaben im Backend in der Form YYYY-MM-TT eingeben.

  78. Ich habe folgendes Problem:
    Ich habe auf meiner Seite die Extension erfolgreich installiert. Aber auf den Detail-Seiten wird das Foto nur angezeigt, wenn ich im BE angemeldet bin.
    Bei den Usern ohne Foto wird das Standard“Affen“Bild immer angezeigt, egal ob ich im BE angemeldet bin oder nicht.
    Die Seiten sind nur für gewisse Benutzer zugänglich. Kann das der Grund sein?

    Kann mir jemand helfen?

  79. Servus

    ich habe eben die Extension in unserer neuen (noch nicht öffentlichen) Webseite eingebaut und erst einmal einen Fehler bekommen.
    Function spli() is deprecated ../classes/class.smEmployee.php Zeile 308

    Hier die Lösung gleich:
    // list($img) = split(‚,‘, $empArray[‚image‘]);
    list($img) = preg_split(‚,‘, $empArray[‚image‘]);

    Jetzt läufts wieder! 🙂

    MFG

    Mabi

  80. @maxime: see 2 comments above

  81. Hallo Anna. Das Datum wird intern eh als Timestamp gespeichert. Schau mal in Zeile 261 in smEmployee. Dort könntest du einfach dein eigenes Datumsformat auslesen.

  82. Hallo Anna. Die Liste wird automatisch nach der ersten ausgegebenen Spalte sortiert. Im Backend kannst du zusätzlich konfigurieren, dass die Liste durch Klick auf die Spaltenüberschriften umsortiert werden kann.

  83. Hallo Anna. Im Backend von TYPO3 musst du doch eine Seite als Ausgabe der Liste konfigurieren. Schau dort einfach mal in die Optionen, da wirst du alles finden.

  84. Hallo Stefan,

    Anna und ich quälen uns beide daran herum 🙂 öhmm.. kannst du uns vielleicht sagen, wo den Feldern die deutschen Bezeichnungen zugewiesen werden bzw wo man diese ändern kann? Also z. B. Felder wie „Beschreibung für die Telefonliste“ nur in „Beschreibung“ nennen. Das wäre echt super und würde uns einiges ersparen 🙂

    Liebe Grüße

  85. Hallo Alena. Die Übersetzungen werden in der Datei locallang_db.xml gespeichert.

  86. Hallo Stefan,

    vielen Dank für Deine tolle Extension. Leider funktioniert sie bei uns nicht mehr, seit wir auf Typo3 4.6.1 und PHP 5.3 upgedatet haben. Wir erhalten folgende Fehlermeldung: Fatal error: Call to undefined method t3lib_DB::sql() in /html/typo3conf/ext/sm_employeelist/classes/class.smEvent.php on line 351
    Gibt es eine Chance, das wieder zum Laufen zu bringen. Es war bislang ein gern genutzer Teil unserer Vereinsseite. Leider habe ich von PHP überhaupt keine Ahnung.
    Liebe Grüße
    Thomy

  87. Sorry Thomy, aber die Extension habe ich schon lange nicht mehr aktualisiert. Wenn in neuen TYPO3-Versionen zentrale Funktionen fehlen, kann man das vielleicht recht schnell anpassen, aber ich kann dazu leider aktuell nichts sagen 🙁

  88. Hallo Stefan,
    ich habe deine Extension unter Typo3-4.5.8 erfolgreich installiert.
    Mitarbeiterliste, Mitarbeiter Details, Geburtstagsliste funktionieren soweit.
    Ich habe nun Probleme mit der Telefonliste.
    So wie ich es verstanden habe, muss ein Website-Benutzer einer Gruppe zugeordnet sein.
    In der Benutzergruppe habe ich unter Erweitert, ‚Anzeigeoptionen der Abteilung‘ den Haken bei ‚Anzeigen in Telefonliste‘ gesetzt.
    Ist nur eine Benutzer dieser Gruppe zugeordnet, wird die Telefonliste angezeigt.
    Sind 2 Benutzer dieser Gruppe zugeordnet, bekomme ich beim Aufruf der Webseite Telefonliste folgenden Fehlermeldung:
    Fatal error: Object of class smEmployee could not be converted to string in F:\xampp\htdocs\typo3\typo3conf\ext\sm_employeelist\classes\class.smTools.php on line 82
    Ich frage mich, was da falsch läuft.
    Weiterhin ist mir nicht klar was die Felder ‚Spalte in der Telefonliste‘ und ‚Vertikale Position in der Telefonliste‘ bei der Benutzergruppe unter Erweitert, bedeuten.
    Vielen Dank im voraus
    Freundliche Grüße, Matthias

  89. Ok, ich habe noch ein wenig herum experimentiert. Die Funktion der Felder ‚Spalte in der Telefonliste‘ und ‚Vertikale Position in der Telefonliste‘ ist mir jetzt klar.
    Zu der Fehlermeldung:
    Ich habe die entsprechende Zeile in der Datei class.smTools.php auskommentiert. Jetzt funktioniert es. Allerdings kann ich nicht einschätzen, welche Nebenwirkungen dies hat.

  90. Hallo Matthias. Das Auskommentieren ist genau richtig. Da habe ich einen Fehler in der Implementierung, den ich noch nicht gefixt habe. Dadurch sollte nichts kaputt gehen.

  91. Hallo Stefan,
    vielen Dank für deine Antwort.
    Ich habe jetzt noch ein Problem mit der Abteilungs- und der Positionsliste.
    Beispiel Abteilungsliste:
    Ich habe eine Seite erstellt auf der die Abteilungsliste dargestellt wird.
    Es wird eine ungeordnete Liste mit Links zu den Abteilungen angezeigt.
    Klicke ich auf einen Link in der Liste, scheint nichts zu passieren.
    Erst wenn ich die Seite neu lade, mit SHIFT ‚Reload‘ (Chromebrowser) erscheint die Liste der Mitarbeiter der gewählten Abteilung.
    Mit der Positionsliste habe ich das selbe Verhalten.
    Es scheint ein Caching Problem zu sein.
    Das Caching unter den Globalen Einstellungen ist ja in der Voreinstellung deaktiviert.
    Ich habe es mal probehalber aktiviert, brachte aber keine Änderung.
    Gibt es evtl. eine Lösung?
    Vielen Dank
    Mit freundlichen Grüßen
    Matthias

  92. Hallo Matthias. Das kann wirklich nur ein Problem mit dem Caching sein. Schalte das doch mal für die konkrete Seite aus.

  93. Super. Danke, jetzt funktioniert es.
    Habe das Cashing der Seite selber deaktiviert.
    Jetzt bin ich rundum zufrieden mit der Funktionalität und kann mich dem ’styling‘ widmen.
    Noch einmal vielen Dank.

  94. Hallo, ich habe die Erweiterung frisch an meinem Typo 4.6.4 installiert aber scheinbar stelle ich mich zu blöd an, um sie richtig zu nutzen. Meine Nutzer und Gruppen hole ich mir aus dem LDAP. Wie bekomme ich diese Gruppen und Nutzer denn nun mit der Erweiterung verknüppert? Wenn ich eine neue Seite mit dem Plugin als Seitenihalt anlege finde ich nirgends die Stelle, an der ich den „Startingpoint“ angeben kann. Hat vielleicht jemand eine Idee, wo das Problem sein könnte?

  95. Hallo Sophie. Sind die Benutzer aus dem LDAP denn auch in der TYPO3-Datenbank eingetragen (Tabelle fe_users)? Das ist Voraussetzung für die Extension.

  96. Hallöchen,
    ich hab den Fehler gestern noch gefunden 😉 . Mein Kollege hat die Nutzer als Backenduser angelegt, nachdem er sie aus dem LDAP geholt hat. Und so hat die Extension natürlich keinen Daten gefunden.

    Gibt es eine Möglichkeit die Extension „fix“ umzuschreiben und die Backenduser statt der Frontenduser zu nehmen? Damit meine ich NICHT, dass du das umprogrammieren sollst (außer du möchtest natürlich 😉 ) aber du kannst sicherlich am Besten abschätzen, wie hoch der Zeitaufwand ist deine Extension umzuschreiben oder eine ganz neue anzufangen – wobei ich erwähnen muss, dass das meine erste Extension wäre…

  97. Hallo Sophie. Nein, diese Möglichkeit besteht nicht. Die Extension erweitert die Tabelle fe_users.

  98. Das hab ich irgendwie schon befürchtet. Dann muss ich mich mit dem Thema doch intensiver beschäftigen. Trotzdem vielen Dank für die Information 🙂

  99. Hallo @all,
    ich versuche gerade die Extension zu installieren! Das wassie verspricht ist echt ziemlich geil!
    Allerdings schaffe ich es einfach nicht, die Extension sauber zum laufen zu bekommen – denn die Liste der User wird nicht geladen bzw generiert.
    Ich hatte zu Amfang ebenfalls das Ganze unter php 4x installiert *argh* aber dann noch einmal deinstalliert und nun unter php 5.2 installiert.
    User-Sysfolder ist angegeben und auch alle config einstellungen solten sauber sein.
    Irgendeine Idee wodran es noch liegen könnte?
    Vielen Dank und cheers, Dara

  100. Ok! Wer lesen kann ist klar im Vorteil!
    Sry! Hab meinen Fehler gefunden *grrr*
    Letzt läufts und ist ziemlich cool! :))

  101. Hallo,

    eine Frage. Ist es geplant ein Update von der Extension zu machen ? Speziell wegen T3 V.6x ?

    Viele Grüße
    Michael

  102. Hallo Michael, nein, ein Update ist von meiner Seite aus nicht geplant, da ich aktuell nicht mehr mit PHP arbeite.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax