Update r387-r397 - redeclare initializelightbox()

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
Post Reply
hausmeister
Posts: 219
Joined: Thu 18. Dec 2008, 12:45

Update r387-r397 - redeclare initializelightbox()

Post by hausmeister »

hallo zusammen,

im rahmen des updates habe ich auch das update r387-r397 eingespielt.
nach diesem update erschien im frontend nur noch der verweis:

Code: Select all

Fatal error: Cannot redeclare initializelightbox() (previously declared in /path/to/include/inc_front/front.func.inc.php:3144) in /path/to/include/inc_front/js.inc.php on line 64
nachdem ich die beiden dateien content.func.inc.php und ext.func.inc.php wieder durch die alten ersetzt hatte, lief es wieder.
was läuft da falsch? auf den seiten läuft smoothgallery - kann es das schon sein?

smoothgallery wird im template wie folgt aufgerufen:

Code: Select all

[PHP]
	
	$GLOBALS['block']['custom_htmlhead']['mootools.js'] = '  <script src="'.TEMPLATE_PATH.'inc_js/smoothgallery/mootools.js" type="text/javascript"></script>';
	
	$GLOBALS['block']['custom_htmlhead']['jd.gallery.js'] = '  <script src="'.TEMPLATE_PATH.'inc_js/smoothgallery/jd.gallery.js" type="text/javascript"></script>';
	
	$GLOBALS['block']['css']['smooth'] = 'smoothgallery/jd.gallery.css';

[/PHP]

der hausmeister
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Update r387-r397 - redeclare initializelightbox()

Post by flip-flop »

Eine r397 ist noch nicht für jeden zugänglich, vielleicht liegt es daran ..... :D
------

Nach r380 hat OG das Handling für JS-Libs und Dateien umgestellt.
Den Aufruf initMootools(); gibt es nicht mehr (weshalb auch immer er diesen entfernt hat).
Als Ersatz wird nun initJSLib(); eingesetzt, wodurch das in der Vorlage eingestellte JS-Framework geladen wird.

Die Aufrufe initializeLightbox() oder initSlimbox(); rufen gleichzeitig auch das entsprechende JS-Framework auf.

Du solltest also alle externen Aufrufe des Frameworks umstellen auf diese normierte Art des Aufrufs.

Solche Aufrufe

Code: Select all

$GLOBALS['block']['custom_htmlhead']['mootools.js'] = '  <script src="'.TEMPLATE_PATH.'inc_js/smoothgallery/mootools.js" type="text/javascript"></script>';
würde ich nicht mehr praktizieren. Eigene Mootools-Sets sind nun nicht mehr angesagt. Alle Komponenten sind im System vorhanden.
Wenn eine zusätzliche Funktionen aus der Moore Reihe gebraucht werden, dann können diese so eingebunden werden:

Code: Select all

<!-- JS: MORE:Fx/Fx.Elements,Fx/Fx.Accordion -->
oder per PHP:

Code: Select all

[PHP]
$js[1] = 'MORE:Fx/Fx.Elements,Fx/Fx.Accordion';
renderHeadJS($js);
[/PHP]
oder

Code: Select all

$mootools_more = array(
        'Fx/Fx.Elements',
        'Fx/Fx.Accordion'
);
initJSPlugin($mootools_more, true);
Die externen JavaScripte werden am besten als Plugin eingebunden.

Beispiel SimpleTabs:
----------------------------------
Datei: template/lib/mootools/plugin-1.2/mootools.SimpleTabs.js
Einbinden mit:

Code: Select all

initJSPlugin('SimpleTabs');

$GLOBALS['block']['css']['reg_tabs_simpletabs01'] = 'specific/mootools/reg_tabs_simpletabs01.css';
...
...
initJSPlugin('SimpleTabs'); ruft gleichzeitig auch das richtige JS-Framework auf.


Alle bisherigen externen JS-Einbindungen müssen in dieser Richtung überarbeitet werden.

Knut
Last edited by flip-flop on Mon 18. Jan 2010, 12:36, edited 1 time in total.
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
hausmeister
Posts: 219
Joined: Thu 18. Dec 2008, 12:45

Re: Update r387-r397 - redeclare initializelightbox()

Post by hausmeister »

flip-flop wrote:Eine r397 ist noch nicht für jeden zugänglich, vielleicht liegt es daran ..... :D
ooops. meinte natürlich r393.
bedeutet das jetzt, dass ich aus meinem smoothgallery-template einfach die aufrufe herausnehme und das ganze dann trotzdem funktioniert?

der hausmeister
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Update r387-r397 - redeclare initializelightbox()

Post by flip-flop »

Probieren? - Oder hier lesen.

http://code.google.com/p/phpwcms/source/detail?r=381
Templates enhanced by select menu to choose preferred JavaScript library. It is
possible to define own JS Lib wrapper (see $phpwcms['js_lib'] in
dist.conf.inc.php and add it to your conf.inc.php). By default jQuery 1.3.2,
MooTools 1.2.4 and MooTools 1.1.2 are supported.
Setting for always loaded JS Lib.
Setting to load JS Lib using Google Ajax API lib - will support all updated JS
Libs too.
Lightbox (Slimbox) implemented for each of default JS Libs.
Frontend Edit patched.
Several JS related optimizations and enhancements.
New global template vars (array) to register OnLoad, OnUnLoad and Inline
JavaScript code: $block['js_onload'], $block['js_onunload'],
$block['js_inline']. Inline JS can be registered by PHP function
"inlineJS(string $js)".
Possible to register JS Lib related plugins using initJSPlugin(string $plugin).
Put it in the plugin folder in template/lib/%JSLIb%/plugin%. See the sample
plugin "jquery.switchClass.js" in template/lib/jquery/plugin. To register this
use "initJSPlugin('switchClass')".
All external JavaScript library and also JW Media Player moved to template/lib.
http://code.google.com/p/phpwcms/source/detail?r=385
New replacement tag to register JavaScript in <head> section. It will be loaded
as JS Lib plugin or separate JS file.
<!-- JS: %plugin% // optional comment or text -->
<!-- JS: example.js --> you can use {SITE} and {TEMPLATE} here. {SITE} = current
absolute URL, {TEMPLATE} = template path
<!-- JS: {SITE}{TEMPLATE}inc_js/example.js -->
<!-- JS: http://example.com/lib/js/?getmy=123&ne ... ection=.js -->
http://code.google.com/p/phpwcms/source/detail?r=389
MooTools 1.2 enhanced by MoTools More (YUI compressed single files).
Here is the sample for JD.Gallery 2.1dev:
$mootools_more = array(
'Fx/Fx.Slide',
'Fx/Fx.Scroll',
'Fx/Fx.Elements',
'Drag/Drag',
'Drag/Drag.Move',
'Drag/Slider',
'Utilities/Assets',
'Utilities/Hash.Cookies',
'Utilities/Group',
'Interface/Scroller'
);
initJSPlugin($mootools_more, true);

http://code.google.com/p/phpwcms/source/detail?r=392
All MooTools More YUI compressed JS files edited: add copyright/license info.
MooTools More String.Extras.js no longer YUI compressed because of false
positive virus alert.
MooTools More classes can be initialized by template replacement tag <!-- JS:
... --> too (sample: <!-- JS: MORE:Fx/Fx.Elements,Fx/Fx.Accordion -->).
Module Shop: encode HTML special chars in product url, template fix.
Das wird nach einem Update > r380 noch viele kalt erwischen die eigene Lösungen eingebunden haben.

Knut
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Update r387-r397 - redeclare initializelightbox()

Post by pepe »

Wie müßte denn diese Zeile HEUTE eingegeben werden???
Alle Versuche nach der neuen Variante ---- sind bei mir bisher gescheitert :-(

Code: Select all

[PHP]
$GLOBALS['block']['custom_htmlhead']['jd.gallery.js'] = '  
<script src="'.TEMPLATE_PATH.'inc_js/smoothgallery/jd.gallery.js" type="text/javascript"></script>';
[/PHP]
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Update r387-r397 - redeclare initializelightbox()

Post by pepe »

Nach einigen Experimenten habe ich jetzt herausgefunden:

Eingabe im CP-Template ( ReplacementTag NICHT zwischen [PHP]...[/PHP] setzen :!: ):

Code: Select all

<!-- JS: {TEMPLATE}inc_js/smoothgallery/scripts/jd.gallery.js // Das ist ein Kommentar -->
Ausgabe im Quellcode:

Code: Select all

<script type="text/javascript" src="template/inc_js/smoothgallery/scripts/jd.gallery.js"></script>
Schön wäre natürlich, wenn der Kommentar auch noch ausgegeben werden könnte, etwa so:

Code: Select all

<!-- Das ist ein Kommentar -->
<script type="text/javascript" src="template/inc_js/smoothgallery/scripts/jd.gallery.js"></script>
Aber, man darf nicht zuviel verlangen.

OK, dann werde ich mal all meine Templates ändern... :roll: Das nennt man wohl Entwicklung :lol:
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Update r387-r397 - redeclare initializelightbox()

Post by flip-flop »

Sollte auch mit deiner ursprünglichen Eingabe klappen.

Als Plugin müsste das heißen:

Code: Select all

initJSPlugin('jd.gallery');
mit der Datei in

Code: Select all

template/lib/jquery/plugin/jquery.jd.gallery.js
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
hausmeister
Posts: 219
Joined: Thu 18. Dec 2008, 12:45

Re: Update r387-r397 - redeclare initializelightbox()

Post by hausmeister »

ich nochmal.
ich forsche immer noch an dieser fehlermeldung.

Code: Select all

Fatal error: Cannot redeclare initializelightbox() (previously declared in /path/to/include/inc_front/front.func.inc.php:3144) in /path/to/include/inc_front/js.inc.php on line 64
den ganzen smoothgallery-kram habe ich ersetzt durch ein einfaches bild. das einzige .js was jetzt noch zugeladen wird ist: template/inc_js/frontend.js das muss aber was system-seitiges sein, da ich das nirgendwo manuell aufrufe. muss ich von r397-r393 das setup-script ausführen? oder reicht es, wenn ich einfach die neuen dateien auf den server hochlade?

kann mein problem auch noch andere ursachen haben? der kunde hostet bei 1und1.

der hausmeister
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Update r387-r397 - redeclare initializelightbox()

Post by flip-flop »

Dein System möchte die Funktion initializelightbox() doppelt darstellen.

Ein ziemlich eindeutiges Zeichen dafür, das nicht alle Dateien für die r393 vorhanden sind. Du hast ein Gemisch aus alten und neuen Dateien.
Die Basis r387 scheint schon fehlerhaft zu sein.

Ich würde folgendes machen:

- r380-r393.zip
- r393-r394.zip
- r394-r396.zip

Dann sollte es klappen.

Die DB erfährt kein Update.

Knut
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Update r387-r397 - redeclare initializelightbox()

Post by juergen »

*anmerk* Besser die gesamte Version darüberlegen, die Wartezeit kompensiert sich gegen die Sicherheit alles zu haben.
hausmeister
Posts: 219
Joined: Thu 18. Dec 2008, 12:45

Re: Update r387-r397 - redeclare initializelightbox()

Post by hausmeister »

DF6IH wrote:*anmerk* Besser die gesamte Version darüberlegen, die Wartezeit kompensiert sich gegen die Sicherheit alles zu haben.
meinst du damit eine komplette neue version zu installieren?
darüber habe ich auch schon nachgedacht.

der hausmeister
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Update r387-r397 - redeclare initializelightbox()

Post by juergen »

Naja, ja das meine ich, wenn alle eigenen Templates und configs richtig benannt sind und nicht untergehen können, dann schon. Man muss wohl die Schreibrechte neu einstellen und all sowas, aber wenigstens kann man sicher sein dass die Programme zueinander passen. Mehr Arbeit ist das auch und ab da kann man sicher auch mit den diffs weitermachen.
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Update r387-r397 - redeclare initializelightbox()

Post by flip-flop »

- Aktuelle v1.4.5 r396
- Unterschied r380 -> r396 Aktuell (20.01.10 13:00)

in der doku verfügbar.
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
hausmeister
Posts: 219
Joined: Thu 18. Dec 2008, 12:45

Re: Update r387-r397 - redeclare initializelightbox()

Post by hausmeister »

eine frage habe ich noch zu dem thema.
die config-dateien haben sich ja geändert in den neuen versionen.
zum beispiel ist der neue flash-player dazu gekommen.
beim update bleibt die config-datei aber unberührt.
muss man also die config-dateien manuell abgleichen und ergänzen?

der hausmeister
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Update r387-r397 - redeclare initializelightbox()

Post by flip-flop »

... beim update bleibt die config-datei aber unberührt.
muss man also die config-dateien manuell abgleichen und ergänzen?
Ja, wie bei jedem Update wenn die config verändert (erweitert) wurde.

Ist alles hier niedergeschrieben.

Knut
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
Post Reply