KB
Typo3 staticpub vs openPic overruleBaseUrl
Typo3 staticpub vs openPic - overruleBaseUrl |
|---|
Daca sunteti familiarizat cu arhitecturi avansate de solutii de prezenta online si cu configurari avansate de Typo3 probabil ca sunteti familiarizat cu urmatorul setup ce inglobeaza structuri stratificate, prin stratificare realizandu-se diferentierea intre continutul static si continutul dinamic al unui site. Un astfel de setup imbunatateste securitatea, scalabilitatea, performantele sistemului prin interpunerea intre server-ul (sau clusterul de servere) dinamice si surfer a unui server (sau cluster de servere) statice de pe care se va servi continutul static al siteului. Cererile catre continutul dinamic se forwardeaza de catre serverele statice catre serverele dinamice doar in conditiile in care contentul cerut nu se afla pe serverele de continut static.
Pentru a furniza o astfel de solutie este necesar printre altele sa se foloseasca o extensie Typo3 numita SiteCrawler (staticpub). Pentru a diferentia serverele de continut static de cele dinamice la publicarea continutului static se foloseste un parametru de configurare al extensiei numit overruleBaseUrl ce va suprascrie tag-ul <base> al siteului si al carui continut este dat in mod normal de parametrul config.baseUrl.
Problema care apare intr-un astfel de setup este data de faptul ca desi la publicarea continutului static tag-ul <base> este suprascris, in conditiile in care o pagina din site contine content de tip image si ati configurat ca la onclick sa se deschida o fereastra cu imaginea in marime 1:1, aceast lucru este realizat atasandu-se eventului onclick o functie JavaScript numita openPic in care se specifica host-ul de pe care se acceseaza imaginea respectiva. Acest hostname este dat tot de parametrul config.baseUrl si din pacate nu este suprascris cu continutul variabilei overruleBaseUrl.
In aceste conditii solutia pe care am agreat-o a fost sa modificam core-ul CMS-ului Typo3 si sa eliminam din constructia functiei openPic hostname-ul respectiv. Astfel imaginea va fi accesata relativ la hostname-ul specificat in tag-ul <base> si care tine cont de parametrul overruleBaseUrl.
Modificarea a fost realizata in versiunea 4.2.8 a lui Typo3. Data fiind multitudinea de versiuni aflate in productie ne-ar fi destul de greu sa va furnizam solutii pentru fiecare in parte. Daca totusi v-ati lovit de aceasta problema ne puteti contacta si va vom pune la dispozitie solutia pentru versiunea dumneavoastra.




