we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Fragen zum Erstellen von Templates für webEdition.
TomyN
Junior Member
Beiträge: 11
Registriert: Mi 5. Nov 2014, 01:13

we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon TomyN » Di 2. Jan 2018, 14:53

Hallo,
ich habe hier eine Website mit 'uraltem' WE Code (nicht von mir programmiert). Seit dem Update auf 8.0 bekomme ich die Fehlermeldung:
we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead
nun hab ich mir gedacht, ich ersetzte we-tag durch we_tag_parse_ und alles wird gut ... aber leider kennt er das nicht, auch we_tag_parse_php kennt er nicht.
In der Hilfe sehen alle tags anders aus we:XX ....

Die angemäkelte Zeile ist:

<?php if(!we_tag('ifEditmode')){ ?><div id="printFooter"><?php printElement(we_tag('img',['id'=>1880,'name'=>'logo','style'=>'float: left'])); ?><br/>Landeskirchliche Gemeinschaft Hensoltshöhe | Richard-Wagner-Str. 30 1/3 | 95444 Bayreuth | Fon 0921/65119</div><?php } ?>

Könnte mir jemand da helfen?

Vielen Dank

Tomy

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon WBTMagnum » Di 2. Jan 2018, 15:13

Hallo Tomy,

Ich vermute das Problem liegt im dazugehörenden Template. Wie schaut das denn aus?


Liebe Grüße,
Sascha

TomyN
Junior Member
Beiträge: 11
Registriert: Mi 5. Nov 2014, 01:13

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon TomyN » Di 2. Jan 2018, 15:16

Code: Alles auswählen

<we:ifNotEditmode>	
  <h1><we:textarea name="headline" /></h1>
  <we:textarea name="pageBody" removefirstparagraph="false"/>
</we:ifNotEditmode>	
<we:ifEditmode>	
  <br/><br/>
  <div class="edit">
    <h5>Headline:</h5>
    <we:textarea name="headline" class="editor" inlineedit="false" height="300" cols="120" rows="20" removefirstparagraph="true" importrtf="true" wysiwyg="true" php="false" xml="true" commands="removeformat,copypaste,editsource,undo,redo"/>
    <h5>Seitentext (Nicht vergessen: Textabschnitte als Absatz kennzeichnen!):</h5>
    <we:textarea name="pageBody" class="editor" inlineedit="false" cols="100" rows="60" removefirstparagraph="false" importrtf="true" wysiwyg="true" php="false" xml="true" commands="applystyle,justifyleft,justifyright,formatblock,removeformat,undo,redo,table,editsource,copypaste,link,list,prop,fullscreen,insertimage,insertspecialchar"/>
  </div>
</we:ifEditmode>
Grüße
Tomy

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon WBTMagnum » Di 2. Jan 2018, 15:34

Hallo Tomy,

Da hast du glaube ich das falsche Template erwischt. Hier geht's nur um pageBody, nicht aber um #printFooter.


Liebe Grüße,
Sascha

TomyN
Junior Member
Beiträge: 11
Registriert: Mi 5. Nov 2014, 01:13

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon TomyN » Di 2. Jan 2018, 15:42

Hi,
danke für den Hinweis. Ich finde kein Template mit dem Namen PrintFooter (so wie ich es sehe, ist es ja ein anchor in irgendeinem anderen Template). Da werde ich noch mal suchen..
Tomy

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon WBTMagnum » Di 2. Jan 2018, 15:54

Hallo Tomy,

Genau, in einem der Templates sollte der Anchor #printFooter zu finden sein. Ich vermute, dass dort etwas schief läuft.

Liebe Grüße,
Sascha

TomyN
Junior Member
Beiträge: 11
Registriert: Mi 5. Nov 2014, 01:13

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon TomyN » Di 2. Jan 2018, 16:05

Gibt's in WE die Funktion 'in allen Templates suchen' ?

Tomy

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon WBTMagnum » Di 2. Jan 2018, 16:09

TomyN hat geschrieben:Gibt's in WE die Funktion 'in allen Templates suchen' ?
Ja, in der Suche auf "Vorlagen" wechseln, dort die Checkbox "In gesamtem Inhalt" anwählen. Dann sucht er in allen Vorlagen.

HTH,
Sascha

TomyN
Junior Member
Beiträge: 11
Registriert: Mi 5. Nov 2014, 01:13

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon TomyN » Di 2. Jan 2018, 16:24

Hi,
vielen Dank schon mal für die Unterstützung. Ich sehe schon, ich sollte mich da mal etwas mehr einarbeiten.
Ich finde in den Templates keinen Anchor mit diesem Namen, nur zweimal ein entsprechende ID:

Code: Alles auswählen

 <we:ifNotEditmode><div id="printFooter"><we:img id="1880" name="logo" style="float: left" /><br/>Landeskirchliche Gemeinschaft Hensoltshöhe | Richard-Wagner-Str. 30 1/3 | 95444 Bayreuth | Fon 0921/65119</div></we:ifNotEditmode>
Tomy

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon WBTMagnum » Di 2. Jan 2018, 16:35

Hallo Tomy,

Das ist schon die richtige Stelle. Ich sehe dort allerdings auch keinen offensichtlichen Fehler.

Andere Idee: Sind das statische oder dynamische Seiten?

Liebe Grüße,
Sascha

TomyN
Junior Member
Beiträge: 11
Registriert: Mi 5. Nov 2014, 01:13

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon TomyN » Mi 3. Jan 2018, 10:49

Hi,
hmm, gute Frage. Woran kann ich da erkennen? Eigentlich ist die Seite sehr statisch, d.h. der Inhalt ändert sich eigentlich nicht, jeden Monat wird in einer Seite neuer Text eigegeben.
Allerdings kommt natürlich (wie bei jedem CMS) einiges aus einer Datenbank, daher ist die Seite schon irgendwie 'dynamisch'.

Hier mal eine komplette Benachrichtigung. Ich bin mir noch nicht sicher, wo die Meldung wirklich auftritt. Sie tritt aber definitiv erst seit dem Update auf 8.0 auf. Ich habe heute mal PHP von 7.0 auf 7.1 upgedatet, hat aber keinerlei Veränderung gebracht.
An User notice occurred while executing a script in webEdition.


http://www.lkg-bt.de/webEdition/we_cmd. ... pos&ID=100

webEdition address: http://www.lkg-bt.de,

URI: /LKG/Termine.php
Host: infong223
Error type: User notice
Error message: Deprecated
---------------------------------------------------
we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead
---------------------------------------------------
<meta name="keywords" content="Termine" />

Script name:
Line number:
Caller: errorHandler
Backtrace: #0 we_error_handler::errorHandler called at [:]
#1 t_e called at [webEdition/we/include/we_tag.inc.php:156]
#2 printElement called at [webEdition/we/templates/LKG/_master-oben.php:7]
#3 include(/homepages/34/d258454961/htdocs/LKGBT/webEdition/we/templates/LKG/_master-oben.php) called at [webEdition/we/templates/LKG/dreispaltig/normale-seite.php:8]
#4 include(/homepages/34/d258454961/htdocs/LKGBT/webEdition/we/templates/LKG/dreispaltig/normale-seite.php) called at [webEdition/we/include/we_showDocument.inc.php:33]
#5 require(/homepages/34/d258454961/htdocs/LKGBT/webEdition/we/include/we_showDocument.inc.php) called at [LKG/Termine.php:19]
Die Meldung tritt an verschiedenen Stellen auf. Inzwischen hab ich eine eigene E-Mail für die Meldungen eingerichtet, auch eine Art Besucherzähler :-)

Tomy

TomyN
Junior Member
Beiträge: 11
Registriert: Mi 5. Nov 2014, 01:13

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon TomyN » Mi 3. Jan 2018, 23:03

So, nun hab ich mir das mal in der we_tag.inc.php angeschaut, und werde nicht ganz schlau:

Code: Alles auswählen

function printElement($code){
	if($code === ''){//tag calculate can return 0, we need to write this.
		return;
	}
        t_e('deprecated', 'we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead', $code);
	if(strpos($code, '<?') === FALSE){
		echo $code;
		return;
	}
	eval('?>' . str_replace(['<?php', '<?=', '?>'], ['<?php ', '<?= ', ' ?>'], $code));
}
Nach meinem (zugegebenermaßen nicht sehr gutem) PHP - Verständnis schmeisst diese Funktion doch immer einen Fehler, solange $Code nicht leer ist. Ich hätte eigentlich sowas erwartet:

Code: Alles auswählen

function printElement($code){
	if($code === ''){//tag calculate can return 0, we need to write this.
		return;
	}
       	if(strpos($code, '<?') === FALSE){
		echo $code;
		return;
	} else {
		 t_e('deprecated', 'we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead', $code);
	}
	eval('?>' . str_replace(['<?php', '<?=', '?>'], ['<?php ', '<?= ', ' ?>'], $code));
}
Zumindest verstehe ich ja die Fehlermeldung eigentlich so, dass er nur motzt soll, wenn in dem $code Php Code (erkenntlich mit <? ) steht.
Oder bin ich da auf dem Holzweg?

Tomy

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: we-tag contained php code which needs evaluation, this is deprecated, use we_tag_parse_ instead

Beitragvon mokraemer » Mi 3. Jan 2018, 23:11

das ist ganz einfach:
du hast nach dem Update keinen Rebuild von den Vorlagen gemacht.

Die Funktion "printElement" ist nur noch aus Rückwärtskompatibilität da und wird entfernt. Sie ist deshalb noch da, damit die Seite nach dem Update erst mal geht und dann damit nicht angepaßte eigene Tags erst noch laufen.
webEdition-Kern-Entwickler


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: Semrush [Bot] und 13 Gäste