Seite 4 von 7

Re: [DEV] Slide Box - v.0.0.2.a

Verfasst: 16.01.2009 17:12
von 4seven
kommt mir alles ziemlich unwarscheinlich vor *schwergrübelt

um das zu klären zu können, bräuchte ich zugriff zum phpmyadmin und ftp...

Re: [DEV] Slide Box - v.0.0.2.a

Verfasst: 16.01.2009 18:15
von Papa101
4seven hat geschrieben:kommt mir alles ziemlich unwarscheinlich vor *schwergrübelt

um das zu klären zu können, bräuchte ich zugriff zum phpmyadmin und ftp...
Ist kein problem, ich kann ja schnell mal die Zugangsdaten ändern. Musst nur bescheid geben, wenn du die nötige zeit und Lust dazu hast.

Re: [DEV] Slide Box - v.0.0.2.a

Verfasst: 16.01.2009 19:26
von 4seven
in 'ner stunde hätte ich zeit...

Re: [DEV] Slide Box - v.0.0.2.a

Verfasst: 16.01.2009 19:36
von Papa101
Per TeamViewer, oder Direcktzugang ??

Re: [DEV] Slide Box - v.0.0.2.a

Verfasst: 16.01.2009 19:38
von 4seven
Direktzugang ist praktischer..

Re: [DEV] Slide Box - v.0.0.2.a

Verfasst: 16.01.2009 21:19
von 4seven
Ok, läuft nun..

Erstens:
- War das acp > mods > slide-box in beiden modulen nicht bestückt (syntax siehe screens im eingangspost).

------------------------------

ACP (click 4 big)

[ externes Bild ]

[ externes Bild ]

------------------------------

- dann ist unter > acp > allgemein > serverlast das rekompilieren der style-elemente nicht aktiviert.
konnte es mit dem eingeschränkten admin jetzt nicht aktivieren > in bastel-phasen bitte aktiviert halten.
so war stets der "alte cache" zu sehen..

Dann: Scheinen gewisse Anteile des 3.0.4er Updates nicht zu greifen (integriert worden zu sein(?),
daher musste ich einen bug-prevent für den eintrag in der template.php schreiben:

Code: Alles auswählen

	function get_assigned_var($varname) 
{  
   
	   	// Code by piero on phpbb.de - big thx ;)
	
	global $user;

    $varname = trim($varname, '{}');
        
    // if it's a normal var
    if(isset($this->_rootref[$varname]))
    {
        return $this->_rootref[$varname];
    }

    // bug prevent, if  >>>  Call to undefined method user::lang()  <<<  come up
    if (isset($user->lang))
    {

	    // if it's a language var	
        if(strpos($varname, '') === 0)
        {         
            $varname = substr($varname, 2);
            $content = $user->lang($varname);
            
            if($varname != $content)
            {
                return $content;
            }
        } 
    }
        // if not defined
        return false;
}
// Code by piero on phpbb.de - big thx ;)
diese fehlermeldung kommt nämlich normal nur in einem forum < 3.0.4 und bestimmten L_*-Variablen :

Code: Alles auswählen

Fatal error: Call to undefined method user::lang() in /usr/export/www/vhosts/funnetwork/hosting/redbusines/phpBB3/includes/template.php on line 549
dadurch kommt dann keine fehlermeldung, sondern die langvariable bleibt einfach leer. so muss man sich die special-funktionen (Variablen) dann in die includes/functions_slide_box integrieren, die auf den entsprechenden user->lang eintrag verweisen. ich werde dazu später noch eine anleitung mit einigen beispielenschreiben.

möglicherweise spiegeln da auch funktions-restriktionen einiger free-provider mit hinein. bei funpic, und dem alten testboard (mit 3.0.0 gestartet und in etappen upgedatet) und einem frischen 3.0.4er, geht es komischerweise problemlos (ab 3.0.4 wohlgemerkt). Mal gucken, ob das noch jemand hat, trotz 3.0.4er board.

Re: [DEV] Slide Box - v.0.0.2.a

Verfasst: 16.01.2009 21:42
von Papa101
Ich hatte das Board von 3.0.2 auf 3.0.4 mit volgenden Mod geupdatet....
(vllt wars auch der falsche, also ein fehlerhafter)

http://rapidshare.com/files/184509941/p ... _3.0.4.rar

Der ist also dafür ausgelegt, direckt von 0.2 auf 0.4 zu aktualisieren.

Re: [DEV] Slide Box - v.0.0.2.a

Verfasst: 16.01.2009 21:52
von 4seven
ich denke mal schon, das es passt. wunderte mich nur, da dieser fehler eigentlich nur in einem < 3.0.4 board auftritt. deswegen meinte ich, das es evtl. noch andere gründe haben kann.möglicherweise muss ich auch meinen code nochmal genau checken, deswegen ist es ideal, das ich bei dir noch testen darf :wink:

----------------

edit

ok, ich denke mal ich habs analysiert: es kommt wohl darauf an, welche includes/*.php's miteinander verschaltet sind. das ist von board zu board wohl leicht verschieden. auf einem (relativ(!) mod-jungfräulichem board greifen fast alle lang-variablen zb {L_INDEX} für "Foren-Übersicht" und betrifft wohl nur die link-titel des mods. demnach greift dieser fix

Code: Alles auswählen

  function get_assigned_var($varname)
{ 
   
         // Code by piero on phpbb.de - big thx ;)
   
   global $user;

    $varname = trim($varname, '{}');
       
    // if it's a normal var
    if(isset($this->_rootref[$varname]))
    {
        return $this->_rootref[$varname];
    }

    // bug prevent, if  >>>  Call to undefined method user::lang()  <<<  come up
    if (isset($user->lang))
    {

       // if it's a language var   
        if(strpos($varname, '') === 0)
        {         
            $varname = substr($varname, 2);
            $content = $user->lang($varname);
           
            if($varname != $content)
            {
                return $content;
            }
        }
    }
        // if not defined
        return false;
}
// Code by piero on phpbb.de - big thx ;)
in dem falle, das an der stelle der template.php diese lang_variable nicht oder noch nicht verfügbar ist. so bleibt die stelle im menü schlicht und ergreifend leer und es gibt keine fehlermeldung mehr :wink:

in dem falle des leer-bleibens könnt ihr den link-text als normalen text eintragen (nicht vergessen > Board-Variable für Titel benutzen?: auf Nein schalten) oder (um bilingualität zu erreichen) eine variable in gleicher syntax wie die "eigentliche" (aber nicht-funktionierende) in der functions.php im "großen template-block", also direkt hier drunter

Code: Alles auswählen

// The following assigns all _common_ variables that may be used at any point in a template.
$template->assign_vars(array(
unter leicht verändertem namen definieren:

-----------------

beispiel:

{L_PROFILE} für "Persönliches Profil" greift nicht.

ergo:

finde:

Code: Alles auswählen

// The following assigns all _common_ variables that may be used at any point in a template.
$template->assign_vars(array(
dahinter füge ein
'L_PROFILE_SLIDE' => $user->lang['PROFILE']
fettmarkiertes entspricht immer dem eintrag in jeglicher lang-datei, die boardweit greift :wink:

------

zb. auszug aus der language/de/common.php
'Sunday' => 'Sonntag',
'Monday' => 'Montag',
'Tuesday' => 'Dienstag',
'Wednesday' => 'Mittwoch',
'Thursday' => 'Donnerstag',
'Friday' => 'Freitag',
'Saturday' => 'Samstag',
------

die syntax für den eintrag in der functions.php wäre demnach
'L_SUNDAY_SLIDE' => $user->lang['SUNDAY']
'L_MONDAY_SLIDE' => $user->lang['MONDAY']
'L_TUESDAY_SLIDE' => $user->lang['TUESDAY']
'L_WEDNESDAY_SLIDE' => $user->lang['WEDNESDAY']
'L_THURSDAY_SLIDE' => $user->lang['THURSDAY']
'L_FRIDAY_SLIDE' => $user->lang['FRIDAY']
'L_SATURDAY_SLIDE' => $user->lang['SATURDAY']
-----------

die so gebildete variable dann im acp der slide box unter Titel x: so eintragen:

{L_SUNDAY_SLIDE}

und *logo:

Board-Variable für Titel benutzen?: Ja

so stellt ihr (nicht nur bei internationalen boards) die bilingualität sicher :wink:

Re: [DEV] Slide Box - v.0.0.2.a

Verfasst: 18.01.2009 17:09
von Papa101
Also wenn ich das richtig verstanden habe, muss ich den syntax aud der "functions.php" nutzen. Ich hab das mal mit der Spielhalle versucht und {L_ARCARDE} und {U_ARCARDE} genommen, aber es kam garnichts. :(
Was ist nun wieder schief gegangen. ?? :-?

Nachtrag:
Das heist ja ARCADE. Geht aber trotsdem nicht.

Re: [DEV] Slide Box - v.0.0.2.a

Verfasst: 18.01.2009 21:41
von 4seven
naja, "einfach so" gehts natürlich nicht. die variablen müssen richtig definiert werden. dazu müsste man erstmal wissen, was {L_ARCARDE} und {U_ARCARDE} abbilden sollen und wie die eigentlichen arcade-variablen dazu aussehen. liegen diese nicht vor und man möchte sie selbst in der functions.php definieren, sollte man sich natürlich eine wenig damit auskennen. im einzelfalle kann ich da gern hilfestellung leisten. in diesem konkretem falle also: was soll {L_ARCARDE} anzeigen und wie lautet der {U_ARCARDE} link? - hinweis: "im schlimmsten falle" kann man linktexte und links auch händisch eingeben, sofern die bilingualität boardseits nicht zwingend notwendig ist.