So'n Käse, es gibt ja noch eine zweite Seite und das geht hier munter weiter - hab' ich gar nicht gesehen
Also, ich versuche mal das an meinem Beispiel etwas transparent zu machen...
hier das Script, das im Frontend_Render mitläuft:
Da hab' ich doch eben tatsächlich Frontend mit 't' am Ende geschrieben - bekommen jetzt noch eine Gänsehaut...
Code: Select all
<?php
// ----------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {
die("You Cannot Access Th Script Directly, Have a Nice Day.");
}
// ----------------------------------------------------------------
$content['all'] = str_replace('{STOCK}', stock(), $content['all']);
function stock() {
$stock = $_POST["stock"];
if (strlen($stock) < 4)
return '<b>Please enter more then 3 characters !</b>';
// this displays all records where the value
// of the selected field matches the query
$data = select_csv('ddd.csv', ',', '0',$stock);
$ausgabe.= '<ul>';
for ( $i = 0; $i < count($data); $i++ )
{
$ausgabe.= '<li>';
$ausgabe.= $data[$i][0].' ';
$ausgabe.= '<br>';
$ausgabe.= '<b>';
$ausgabe.= $data[$i][1].' ';
$ausgabe.= 'pcs. available';
$ausgabe.= '</b>';
$ausgabe.= '</li>';
}
$ausgabe.= '</ul>';
return $ausgabe;
}
function select_csv($file,$delimiter,$field,$query)
{
$data_array = file($file);
for ( $i = 0; $i < count($data_array); $i++ )
{
$parts_array[$i] = explode($delimiter,$data_array[$i]);
if(substr(trim(strtolower($parts_array[$i][$field])),0,strlen($query)) == trim(strtolower($query)))
{
$result_array[] = $parts_array[$i];
}
}
return $result_array;
}
?>
Dazu habe ich einen CP HTML in dem das hier steht:
Code: Select all
<form action="http://de.xecro.com/index.php?login" method="post">
<p>article code <input name="stock" type="text" size="22" maxlength="30">
<input type="submit" value="query"></p>
</form>
Kannst Du Dir leider nicht life andsehen, da das bei mir hinter einem FE-Login steht.
Ist aber letztendlich auch recht unspektakulär...
Im gleichen Artikel habe ich noch einen nachfolgenden CP Text, in dem steht lediglich
So weit ich das jetzt für mich auseinander genommen habe, ersetzt die
Code: Select all
$content['all'] = str_replace('{STOCK}', stock(), $content['all']);
jetzt den RP-Tag {STOCK} durch den Rückgabewert, den die PHP-Funktion liefert.
Ist ein bisschen unglücklich, dass da fast alles "stock" heißt; das war ursprünglich nicht so geplant.
Das Script macht eigentlich nichts anderes, als in einer CSV nach Fragmenten eines Artikelcodes zu
schauen, und diesen dann, bei Übereinstimmung, zusammen mit der lieferbaren Menge anzuzeigen
- bzw. in diesem Fall zurückzugeben und anzeigen zu lassen
---