2017-04-03 7 views
-3

also versuche ich diese Funktion in meinem tpl aufzurufen aber ich bekomme den Fehler massage: Hinweis: Undefinierter Offset: 1 in/var/www/virtual/www. eless.de/ivanovm/lib/data/Contract.class.php on line 342htmlspecialchars() erwartet Parameter 1 als String, Array als PHP

Warnung: htmlspecialchars() erwartet Parameter 1 als String, Array in /var/www/virtual/www.eless.de/ ivanovm/templates/kompilierte/d9e0e5ca75d171cae06b57137aa1475b7f24e533_2.file.contractList.tpl.php on line 135 (Linie 135 ist leer)

public function getYearlyConsumption() 
    { 
     $yearlyConsumption = []; 
     $idx = 0; 

     //company bestimmen und zugehörige consumption points aufrufen 
     $company = System::getUser()->getCompany(); 
     $consumptionPoints = $company->getConsumptionPoints(); 

     foreach ($consumptionPoints as $consumptionPoint) { 
      if ($consumptionPoint->status == 1) { 
       $yearlyConsumption[$idx] += $consumptionPoint->getYearlyConsumptionInt(); 
       $idx++; 

      } 
     } 
     return $yearlyConsumption; 
    } 

hier ist der Aufruf in meine Vorlage (dieser Fehler erscheint für jeden funnction bis ich versuche, den Code oben zu nennen nur ein Beispiel

{foreach from=$data item=item} 
       <tr> 
        <td> 
         <a href="{System::getLink('contractView')}"><input type="button" style="text-align: center" 
                      width="200em" 
                      value="&raquo;{$item->contractID}&laquo;"></a> 
        </td> 
        <td> 
         {$item->date|date_format:"%d.%m.%Y"} 
        </td> 
        <td> 
         {$item->selectedPrice} 
        </td> 
        <td> 
         {$item->getYearlyConsumption()} 
        </td> 
        <td> 
         {$item->getConsumptionPointsCount()} 
        </td> 
        <td> 
         {if $item->status == 0} 
          <span {literal}style="background-color:#ff9933"{/literal}>Wird Bearbeitet</span> 
         {/if} 
         {if $item->status == 1} 
          <span {literal}style="background-color:#33cc33"{/literal}>Abgeschlossen</span> 
         {/if} 
         {if $item->status == 2} 
          <span {literal}style="background-color:#ff0000"{/literal}>Stoniert</span> 
         {/if} 
        </td> 
       </tr> 
      {/foreach} 
+0

'return $ annualConsumption' gibt ein Array zurück. Ich verstehe nicht, was Sie erwartet haben, dass die Templating-Engine damit zu tun hat. – apokryfos

+0

Ich habe nie Vorlagen verwendet, also habe ich mir gedacht, dass ich meine Funktion aus meiner Klasse mit Smarty aufrufen könnte ... ist das nicht möglich? – Smuka

+0

Ja, es ist möglich, aber die Funktion muss etwas zurückgeben, das auf der Seite geschrieben werden kann (z. B. eine Zeichenfolge, Ganzzahl, Gleitkommazahl). Sie geben ein Array zurück, sodass Sie es irgendwie reduzieren müssen. – apokryfos

Antwort

0

getYearlyConsumption() gibt Array ist, und Sie versuchen, Array als String in {} einschließlich es angezeigt werden soll. {} Tags Aufruf htmlspecialchars() -Funktion.

+0

ja ich habe das Problem in meinem Code ich bin einfach nicht sicher, wie es jetzt zu lösen, rate Ich werde es mit Abschnitten anstelle von Foreach versuchen – Smuka

+0

Versuchen Sie Folgendes: {foreach von = $ item-> getYearlyConsumption() item = el} {$ el} {/ foreach} –

Verwandte Themen