![]() |
| | LinkBack | Themen-Optionen | Thema bewerten | Ansicht |
|
#1
| ||||
| ||||
Hallo, jw_calendar-Nutzer! - Ich benutze jw_calendar V1.3.6 . - Hab'n Drei-Spalten-Layout - Rechte Spalte jw_cal-Monatsansicht (dauerhaft, also auf allen Seiten!) - Linke Spalte enthält Hauptmenü - Im Hauptmenü existiert für Vernstaltungen/Termine/Ereignisse GENAU EIN Menüeintrag, sagen wir "Kalender" (initial Listenansicht, umschaltbar auf Tagesansicht und Einzelansicht) - Die Anzeige(n) zu "Kalender" erscheinen in der mittleren Spalte Wenn "Kalender" NICHT ausgewählt ist und ich in der Monatsansicht navigiere/aktualisiere/klicke, möchte ich, dass zunächst AUTOMATISCH der Menüeintrag "Kalender" in meinem Hauptmenü ausgewählt/selektiert/aktiviert wird und dann die entsprechende Kalender-Anzeige (in der mittleren Spalte) aktualisiert dargestellt wird. - Das Synchronisieren zwischen mittlerer und rechter Spalte (wenn der "Kalender"-Eintrag ausgewählt ist) funktioniert schonmal (fast) richtig (sowohl von der mittleren zur rechten als auch von der rechten zur mittleren Spalte bei entsprechenden Aktivitäten). - Ich habe einige Beispiele von Websites gefunden, die das GENAU SO machen (das scheint NICHT EXOTISCH zu sein!!!). - Beispiel: http://delphis-tauchteam.de Meine Preisfrage: Wie geht's? Gibt's da vielleicht einen CONFIG-Parameter (allgemein oder Extension-spezifisch) oder muss ich da PHP-Dateien der Extension patchen ? Vielen Dank im Voraus für konstruktive Hilfe und Gruß refalo. ;-) P.S.: Ich hab' das nochmal ins andere Forum reingestellt (Ich weiß' nicht so genau, ob das irgendwie gegen die Konventionen des Forums verstößt?!: http://www.typo3.net/forum/list/list_post//48595/
__________________ Frei nach Guido WesterWave & Joe Ringelnatz: "There is always a captain on a steaming and sailing ship." Oder auch: "Auf jedem Schiff, das dampft und segelt, gibt's einen, der die Sache regelt." Geändert von refalo (22.08.06 um 22:49 Uhr). |
|
#2
| ||||
| ||||
Da ich wie üblich keine Lust/Geduld hatte, lange auf eine Antwort zu warten, habe ich den üblichen Standardweg zur Lösung solcher Probleme (vor Allem beim CMS TYPO3, läster, läster... ) gewählt - na, welcher wohl? Genau! Ich habe die PHP-Dateien der Extension analysiert und leicht modifiziert. ;-) Hier mein Lösungsrezept zur Version 1.3.6 von jw_calendar:1. Erfinden eines neuen CONFIG-Parameters (z.B. 'altPageId') für die ID der Kalender-Seite (z.B. 4711), auf die bei Klick bzw. Navigation in der Monatsanzeige IMMER AUTOMATISCH umgeschaltet wird. 2. Einfügen einer Zeile im eigenen TS-Code an geeigneter Stelle zum Setzen dieses Parameters, etwa so: Typoscript-Code:
Code: class.tx_jwcalendar_pi1_views.php 4. Hinzufügen eines zusätzlichen Eintrags im jwOptions-Array am Ende des Konstruktors Code: tx_jwcalendar_pi1_views(...) PHP-Code: PHP-Code: Code: $this->pi_linkTP Code: monthView, monthNavi, getDayEvent Code: $this->pi_linkTP Ich hoffe, diese Lösung war auch für weitere jw_calendar-Benutzer und -Sympatisanten unter Euch hilfreich. ![]() Ich vermute, die Entwickler von www.delphis-tauchteam.de haben das ähnlich gelöst?! Gruß refalo.
__________________ Frei nach Guido WesterWave & Joe Ringelnatz: "There is always a captain on a steaming and sailing ship." Oder auch: "Auf jedem Schiff, das dampft und segelt, gibt's einen, der die Sache regelt." Geändert von refalo (23.08.06 um 18:11 Uhr). |
|
#3
| |||
| |||
Hallo Refalo, deine Umgestaltung der .php Datei hört sich einleuchtend an, allerdings schaffe ich es seit Tagen nicht, den gewünschten Erfolg zu erzielen. Ich möchte folgendes Ziel erreichen: die ersten 3-4 Events als Listing auf jeder Seite meiner Site darzustellen. Wenn der Client auf einen Event in der Liste klickt, sollte er automatisch in die Rubrik des Eventkalenders kommen und dort seinen Event dargestellt bekommen. Soweit die Theorie. Jetzt kurz meine Fragen: 1) Die ID 4711 (Dein Beispiel:sad: Ist das die ID, wo hingelinkt werden soll oder ist das eher der Ausgangspunkt (in meinem Fall also das Listing)? 2) Das Einfügen der php Codes: Könntest du bitte die Implementierung etwas spezifizieren? Also wo sollen genau die Codes untergebracht werden und in welcher Form? Ich habe bereits alles Logische ;-) versucht, jedoch ist das Ergebnis nicht berauschend. Derzeit habe ich das Problem, dass bei Darstellung außerhalb der Rubrik Events das Listing angezeigt wird und bei Click auf den Event dort auch der Einzelevent erscheint. Dies macht natürlich so keinen Sinn. |
|
#4
| ||||
| ||||
@Joerg24: Zunächst zu 1:sad: Ich habe in mein Hauptmenü (ist in der linken Spalte eines 3-Spalten-Layouts, siehe http://olmsoft.dyndns.org - is aber alles andere als fertig und ÜBERHAUPT NOCH NICHT VALIDE - SORRY!!! ) einen EXPLIZITEN Untermenüpunkt für Veranstaltungs- bzw. Kalenderanzeigen eingebaut. Diese Anzeigen erscheinen dann in meiner "breiten", mittleren Hauptspalte. Die zugehörige Seite lässt sich dann ja einerseits EXPLIZIT auswählen/anklicken, darüber hinaus auch automatisch/implizit durch Navigation/Auswahl in der Kalender-Monatsanzeige (immer sichtbar!) in der/meiner rechten Spalte (diese Art von "Benutzerergomie" ist natürlich ein bißchen "Geschmackssache"!). Diese "Kalender"-Unterseite hätte dann die Seiten-ID 4711!In der Monatsanzeige habe ich eine Menge von Buttons eingebaut bzw. aus der ursprünglichen Variante übernommen oder modifiziert. Hinter den Buttontexten bzw. -inhalten befinden sich Links (genauer A-Tags), deren HTML-Code (automatisch) durch PHP-Code erzeugt wird (siehe entsprechende Programmierung in den PHP-Dateien der Extension jwcalendar). Diesen PHP-Code habe ich "leicht" modifiziert bzw. erweitert, sodass die Übergabe der A-Tag-Parameter bzw. der Parameter für den "index.php"-Aufruf vom Frontend/Browser z.B. auch noch durch die ID jener Kalender-Seite (4711) erweitert/verlängert ist (kann man sich ja z.B. alles gut in der Quelltextanzeige eines Browsers (z.B. mittels CTRL-U in Firefox angucken!). Dieser wird also (bei Klick auf den Button/Link) ans Backend zusätzlich mit "durchgeschleift" und im Backend dafür gesorgt, dass automatisch auf die Seite 4711 umgeschaltet wird... Frage 2) ist jetzt wohl auch schon'n bischen beantwortet. Morgen mehr (auch zu den Code-Stellen und Funktionsaufrufen). Bin grad unter Zeitdruck bzgl. der Beantwortung aller Deiner Fragen. Bitte fokussiere in der Zwischenzeit (nach diesen paar Infos von mir) nochmal alle Deine jetzt noch offenen Fragen auf das Wesentliche durch ein/zwei pointierte, "knackige" Fragen, sodass ich keine "Romane" schreiben brauche. Ich könnte auch ein bischen Beispielcode posten...?!! Bis morgen, Gruß refalo. Gruß refalo.
__________________ Frei nach Guido WesterWave & Joe Ringelnatz: "There is always a captain on a steaming and sailing ship." Oder auch: "Auf jedem Schiff, das dampft und segelt, gibt's einen, der die Sache regelt." Geändert von refalo (07.09.06 um 17:36 Uhr). |
|
#5
| |||
| |||
Hallo Refalo und danke erstmal für dein erstes Feedback. Soweit ist das nun mit der ID im TS klar. Ich glaube in deinem Fall wäre die ID 88 anstatt der Beispiel ID 4711, soweit ich das im Quelltext entnehmen kann. Das Durchschleifen der Ziel ID im PHP Code is auch einleuchtend. Die Idee mit dem Beispielcode ist deshalb sehr gut. Vielleicht könntest du die betreffenden Zeilen in deinem Code posten, das würde mir bestimmt schon etwas weiterhelfen. Wahrscheinlich hängt es bei mir nur wieder an einer Klammer . Bei mir ist die Konstellation so angedacht, dass ich dort, wo du den Kalender auf der rechten Seite hast bei mir das Listing mit 3-4 aktuellen Events steht und dann durch Klick auf den Event der User direkt beim eigentlich Datensatz landet, also in der Einzelansicht des Events. Aber das kann ich dann wahrscheinlich selbst umprogrammieren. Würde mich freuen, wieder von dir zu lesen. Bis dahin schon einmal vielen Dank für deine Mühe. Gruß Jörg |
|
#6
| |||||||
| |||||||
@Joerg24: Zitat:
Zitat:
JA: Um aktuelle Events (z.B. als Monats- oder Listenansicht einzubinden) STÄNDIG ANZUZEIGEN (z.B. in einer bzw. der rechten Spalte), braucht man die von Dir vorgeschlagene (und auch von mir verwendete) folgende Technik im eigenen TS-Code: Typoscript-Code:
160 ist die ID meines Kalender-Plugins für meine ständige Monatsanzeige (als Seiteninhalt einer Seite, welche bei mir ein separater "Systemordner" für "Kalenderzwecke" ist. Diese Seite taucht also nicht in meinem Menü auf!). Ich habe noch ein zweites jwcalendar-Plugin (für die verschiedenen Anzeigen (Monatsliste, Tagesliste, Einzelansicht) in der mittleren Spalte), welches ich als Seiteninhalt auf die entsprechende Seite meines Kalender-Submenüeintrags gepackt habe. Du MUSST das "RECORDS-tt_content-dontCheckPID"-Gedöns in ein EIGENES Sub-TS-Template reintun, welches Du in Deinem Haupt-TS-Template über "Template on next level" includest. Das Haupt-Template befindet sich bei mir auf der "Root-Seite" meiner Website, welche aber selber (nur / in Wirklichkeit) eine direkte Subseite der eigentlichen "Root-Seite" meiner/s gesamten TS-Installation/Backends ist!!! Dieser Code wird dann bei Auswahl eines "anderen" Menüpunktes IMMER WIEDER AUTOMATISCH ausgeführt!!! Zitat:
Code: class.tslib_pibase.php Die Funktion pi_linkTP hat einen Default-Parameter Code: altpageId So, das hilft Dir wohl schonmal 'n bischen weiter...? Ansonsten kannst Du natürlich nochmal ('ne) neue Frage(n) formulieren... Gruß refalo.
__________________ Frei nach Guido WesterWave & Joe Ringelnatz: "There is always a captain on a steaming and sailing ship." Oder auch: "Auf jedem Schiff, das dampft und segelt, gibt's einen, der die Sache regelt." Geändert von refalo (09.09.06 um 06:31 Uhr). |
|
#7
| |||
| |||
Hallo Refalo, soweit wäre alles verständlich, auch die Variable altpageId in der class.tslib_pibase.php. Das Einfügen der Codes in das TS sowie die Marker auf der Seite sind ja auch die leichtere Übung gewesen. Ich verzweifle ja an der Mitgabe der altPageId in der php.Datei. Ich habe es nun schon an allen möglichen Stellen versucht, meine ID wird aber nicht übergeben. Es bleibt die Default-Seite, die mitgegeben wird. Vielleicht gebe ich den Wert allerdings auch falsch mit. In der php Datei gebe ich im Code PHP-Code: Die altPageId versuche ich in den drei möglichen Functions zu übergeben, z.B. wie folgt: PHP-Code: .Vielen Dank schon einmal. Jörg |
|
#8
| ||||
| ||||
@Joerg24: Schaumahiä: http://www.selfphp.info/praxisbuch/index.php unter "Vorgabewerte für Parameter" (unter "Funktionen und Prozeduren"). Konstruktoren (NICHT Kompressoren oder Instruktoren oder so...) sind übrigens elementare, zentrale Elemente moderner, objektorientierter Programmiersprachen (wie z.B. auch in Java ...). Sorry. Musste raus. Konnte ich nicht unterdrücken. Ist alles rein feststellend und KONSTRUKTIV (und nicht böse) gemeint... gruß refalo.
__________________ Frei nach Guido WesterWave & Joe Ringelnatz: "There is always a captain on a steaming and sailing ship." Oder auch: "Auf jedem Schiff, das dampft und segelt, gibt's einen, der die Sache regelt." Geändert von refalo (09.09.06 um 10:22 Uhr). |
|
#9
| |||
| |||
Ok, also vielen Dank für die Hilfe. Ich werde mich weiterbilden bis ich die Lösung dann selbst gefunden habe (nicht böse gemeint) Viele Grüße Jörg |
|
#10
| |||
| |||
So, kaum ein paar Tage mit Fortbildung verbracht, schon erkennt man, dass man den Wald vor lauter Bäumen nicht gesehen hat. Also die Lösung war denkbar einfach... für jemand, der sich mit php etwas länger auskennt Also die altPageId einfach an vierter Stelle anbringen.. so z.B. PHP-Code: Danke nochmals für den Self-PHP Link. Gruß Jörg |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Calendar Base - automatischer Mailversand an Admin | zimmi | Kalender | 0 | 03.07.08 07:56 |
| Automatischer Logout zu schnell beim Kunden | bjs1977 | TYPO3 4.x Installation und Updates | 2 | 06.01.08 20:38 |
| Gelöst automatischer bildwechsel | easymoments | TYPO3 4.x Fragen und Probleme | 2 | 05.01.08 14:06 |
| Flash-Video-PLayer mit automatischer Umwandlung zu FLV | floreno | Extension modifizieren oder neu erstellen | 4 | 20.10.07 16:56 |
| Automatischer Logout | markus3005 | TYPO3 4.x Installation und Updates | 2 | 15.01.07 09:00 |