php & fopen in tpl

Okay also ich denke ich bin einen ticken weiter gekommen. Ich habe nochmal komplett von vorne angefangen und erstmal ohne der ordernumber.

Sprich ich habe file_get_contents mit einem direkt Link einfach genommen, dazu dann noch strip_tags und bekomme dann schonmal das richtige Ergebnis, nur leider mit den ganzen body und css tags noch.

sieht dann ungefähr so aus:

body { color: #333; height: 14px; width: 107px; } a { color: #333; } 3 

die 3 am Ende ist dann das richtige Ergebniss für mich, nur warum filtert er mir nicht den rest raus?!

 

ohje ohje… hat ja echt lange gedauert, aber ich habs hinbekommen… damit bekomme ich ein Ergebniss:

$data = file_get_contents('http://domain.de/colli.php?artnr=1234');
$data = preg_replace("/]*>(.*?)<\\/style>/s", "", $data);
$data = strip_tags($data);

 
         return $data;</code></pre>

<p> </p>

<p>jetzt fehlt mir nur noch die orderNumber in dem Link...</p>

Ich habe es jetzt endlich hinbekommen! Unfassbar wie schwer ich mich damit getan habe, ohje… Vielen Dank Daniel, es hat alles geklappt wie du es geschrieben hast.

Falls es jemand nachmachen will, hier meine Lösung:

function smarty_function_cbm($params, Smarty_Internal_Template $template)
{

$orderNumber = $params['number'];
        

 if (!$orderNumber) {
        throw new \RuntimeException("No number given");
    }
    
$data = file_get_contents("http://domain.de/cbm.php?artnr=$orderNumber");
$data = preg_replace("/]*>(.*?)<\\/style>/s", "", $data);
$data = strip_tags($data);

 
         return $data;

}
?></code></pre>

<p>und in der .tpl:</p>

<pre>
<code> {block name='frontend_detail_data_attributes_attr5'}
                                        <li class="base-info--entry entry-attribute">
                                            <strong class="entry--label">
                                                {s name="DetailCbm"}Cbm{/s}:
                                            </strong>
    
                                            <span class="entry--content">
                                                         {cbm number={$sArticle.mainVariantNumber}} </span>
                                            </span>
                                        </li>
                                {/block}</code></pre>

<p> </p>

Ich muss mich doch nochmal melden, ich habe ein Problem bei dem ganzen, leider…

manchmal werden mir durch die ordernumber bei der Abfrage von der externen Seite zwei werte ausgegeben, kann mir einer sagen wie ich das so verpacken könnte das immer nur das erste Ergebnis angezeigt wird?

habe an preg_match gedacht, aber kriege das null hin…

ansonsten würde es noch gehen wenn ich in der .tpl die variable kürzen würde, aber auch das kriege ich nicht hin irgendwie :frowning: wie kann ich denn hier: {colli number={$sArticle.mainVariantNumber}}   ein truncate einbauen?

Hat niemand eine Idee? Mir fällt leider nichts weiter dazu ein :confused: