Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 22.08.06, 17:17
Benutzerbild von refalo
Forum Stammgast
 
Registriert seit: 12.06.06
Ort: Kurpfalz
Alter: 42
Beiträge: 120
Unglücklich

jw_calendar: Link mit automatischer Seitenumschaltung


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).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 23.08.06, 16:39
Benutzerbild von refalo
Forum Stammgast
 
Registriert seit: 12.06.06
Ort: Kurpfalz
Alter: 42
Beiträge: 120
Daumen hoch

Gelöst: Durch kleinen Patch in der Extension jw_cal


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:
1:
plugin.tx_jwcalendar_pi1.altPageId = 4711
3. Öffnen der Datei
Code:
class.tx_jwcalendar_pi1_views.php
im Extension-Verzeichnis von jw_calendar.
4. Hinzufügen eines zusätzlichen Eintrags im jwOptions-Array am Ende des Konstruktors
Code:
tx_jwcalendar_pi1_views(...)
, etwa so:
PHP-Code:
$this->jwOptions['month']['altPageId'] = $this->conf['altPageId']; 
5. Hinzufügen von
PHP-Code:
$this->jwOptions['month']['altPageId'
für den vierten Parameter (hat Defaultwert=0) beim Aufruf von
Code:
$this->pi_linkTP
an geeigneten/gewünschten Stellen innerhalb der Funktionen
Code:
monthView, monthNavi, getDayEvent
, wo er bisher nicht übergeben wurde. Weitere Aufrufe von
Code:
$this->pi_linkTP
in dieser Datei/Klasse habe ich nicht berücksichtigt/geändert, da sie sich auf andere als der Monatsanzeige beziehen.

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).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 07.09.06, 07:22
Forum Zuschauer
 
Registriert seit: 07.09.06
Ort: Augsburg
Alter: 40
Beiträge: 6

Kleine Nachfrage


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.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 07.09.06, 17:30
Benutzerbild von refalo
Forum Stammgast
 
Registriert seit: 12.06.06
Ort: Kurpfalz
Alter: 42
Beiträge: 120
Cool

Zur Implementierung - die Erste


@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).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 07.09.06, 18:51
Forum Zuschauer
 
Registriert seit: 07.09.06
Ort: Augsburg
Alter: 40
Beiträge: 6

Soweit so gut


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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #6  
Alt 08.09.06, 09:51
Benutzerbild von refalo
Forum Stammgast
 
Registriert seit: 12.06.06
Ort: Kurpfalz
Alter: 42
Beiträge: 120
Cool

Zur Implementierung - Die Zweite


@Joerg24:

Zitat:
1) plugin.tx_jwcalendar_pi1.altPageId = 4711
Die ID 4711? Ist das wirklich die ID der Monatsansicht (Page oder Content)?
Wo soll man dies im TS einbinden?
Ich binde den Monatskalender bzw. bei mir die Listenansicht wie folgt ein:

# AKTUELLE EVENTS rechts ausgeben
lib.events = RECORDS
lib.events {
tables = tt_content
source = 290
}
Zitat:
Ich glaube in deinem Fall wäre die ID 88
JA: Die entsprechende ID ist bei mir zur Zeit 88.
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:
1:
2:
3:
4:
5:
6:
7:
page.10.marks.REFALO_EVENTS_MONTH >
page.10.marks.REFALO_EVENTS_MONTH = RECORDS
page.10.marks.REFALO_EVENTS_MONTH{
tables = tt_content
source = 160
dontCheckPid = 1
}
Ich neige zur Zeit dazu, das 'dontCheckPid' immer mit rein zu nehmen.
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:
Jetzt kommt der Part, bei dem ich anscheinend zu wenig Kenntnis habe:
##############
5. Hinzufügen von
PHP-Code:
$this->jwOptions['month']['altPageId']
für den vierten Parameter (hat Defaultwert=0) beim Aufruf von
Code: $this->pi_linkTPan geeigneten/gewünschten Stellen innerhalb der Funktionen
Code: monthView, monthNavi, getDayEvent
#################
Jetzt kommt ne INTERESSANTE Geschichte: Schau mal in die System-PHP-Datei
Code:
class.tslib_pibase.php
:

Die Funktion pi_linkTP hat einen Default-Parameter
Code:
altpageId
. Wenn dort standardmäßig kein Parameter übergeben wird, dann wird eine "Standardseite" (üblicherweise die Startseite der Website) als nächste anzuzeigende ausgewählt. Das ist doof, wenn ich irgendwo auf die Monatsanzeige klicke (vor allem, wenn ich vorher gerade einen anderen speziellen Menüpunkt ausgewählt hatte). Stattdessen sorge ich jetzt dafür, das statt der entsprechenden Aufrufe mit drei Parametern jetzt immer vier übergeben werden (statt Default=0), wobei dieser der neue Wert (altPageId) aus der config ist.... So wird jetzt bei bestimmten, von mir ausgewählten/angeklickten Links (z.B. in der Monatsanzeige) immmer diese gewünschte Seite angewählt!!

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).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #7  
Alt 09.09.06, 08:08
Forum Zuschauer
 
Registriert seit: 07.09.06
Ort: Augsburg
Alter: 40
Beiträge: 6

class.tx_jwcalendar_pi1_views


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:
$this->jwOptions['month']['altPageId'] = $this->conf['altPageId']; 
am Ende des Korridors ein und definiere damit die jwOptions.

Die altPageId versuche ich in den drei möglichen Functions zu übergeben, z.B. wie folgt:

PHP-Code:
$this->pi_linkTP($m,Array($this->prefixId=>$params),$this->jwOptions['month']['altPageId']); 
Vielleicht kannst du mal einen Beispielcode posten, wie die altpageId richtig mitgegeben werden kann. Ich bin leider nicht der php-Freak, der ich vielleicht sein sollte. Aber auch mit php werde ich mich noch weiterbilden .

Vielen Dank schon einmal.

Jörg
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #8  
Alt 09.09.06, 10:19
Benutzerbild von refalo
Forum Stammgast
 
Registriert seit: 12.06.06
Ort: Kurpfalz
Alter: 42
Beiträge: 120
Reden

Zu Grundlagen der objektorientierten Programmierung


@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).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #9  
Alt 09.09.06, 13:09
Forum Zuschauer
 
Registriert seit: 07.09.06
Ort: Augsburg
Alter: 40
Beiträge: 6

Vielen Dank.


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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #10  
Alt 10.09.06, 19:24
Forum Zuschauer
 
Registriert seit: 07.09.06
Ort: Augsburg
Alter: 40
Beiträge: 6

Wald voller Bäume


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:
$this->pi_linkTP($m,Array($this->prefixId=>$params),$this->caching,$this->jwOptions['month']['altPageId']); 
.. dann klappts auch wirklich.. ich versuche jetzt noch das Ganze aus der Einzel- bzw. Listansicht zu generieren und damit wäre das Thema für mich erledigt

Danke nochmals für den Self-PHP Link.

Gruß
Jörg
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

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

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


Ä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


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0