Zusatzfeld in Bestellung - Seriennummern - Aktualisieren in Bestellübersicht

Nabend,

ich habe folgendes Problem:
Ich möchte die Bestellung um ein Feld erweitern. Hierzu habe ich über MyPhP-Admin ein neues Feld in oxorderarticles angelegt.

Dieses wird durch Anpassungen an \admin pl\order_article.tpl auch einwandfrei angezeigt, auch der im Datensatz enthaltene Wert (habe ich per SQL gesetzt).

[B]ABER: [/B]
In welchen Code muss ich mein Feld hinzufügen, um den Wert nach dem Eintragen in das Editfeld zurück in die Datenbank zu schreiben (so wie es mit der Anzahl auch funktioniert)?

Hierzu mal einen Screenshot:

Steh ich vor einem unlösbaren Problem bei dem mir tatsächlich keiner helfen kann?
Ein Verweis auf irgendeinen Hilfreichen Beitrag würde mir auch reichen, hab über die Suche nichts finden können.

Ok, habe das Problem selber gelöst.

  1. Per Phpadmin ein weiteres Feld in der tabelle oxorderarticles anlegen (bei mir oxswdserial)

  2. out/admin/tpl/order_article.tpl anpassen:
    -Bei "[{block name=“admin_order_article_header”}] " die Spaltenbeschreibung einfügen, hier erstmal ohne Übersetzung:

<td class=“listheader”>Seriennummer</td>

  • Bei “[{block name=“admin_order_article_listitem”}]” folgendes einfügen:

      &lt;td valign="top" class="[{ $listclass}]"&gt;						
      &lt;input type="text" name="aOrderArticles[[{$listitem-&gt;getId()}]][oxswdserial]" value="[{ $listitem-&gt;oxorderarticles__oxswdserial-&gt;value }]" class="listedit"&gt; &lt;/td&gt;
    

Gruß Tim

Danke für Deinen Monolog und die Lösung!

Hallo Tim,
super Beitrag, hat bei mir auch (fast funktioniert). Feld ist da und ich kann auch was rein schreiben. Nur leider
wird die Eingabe nicht gespeichert: Ein Tipp was ich falsch mache?

Vielen Dank
Gruß Micha

[QUOTE=Mineutec;120229]Hallo Tim,
super Beitrag, hat bei mir auch (fast funktioniert). Feld ist da und ich kann auch was rein schreiben. Nur leider
wird die Eingabe nicht gespeichert: Ein Tipp was ich falsch mache?

Vielen Dank
Gruß Micha[/QUOTE]

Hi, hast du die Views schon neu generiert?

Hi Tim,
danke für die schnelle Antwort, ja hatte ich schon neu generiert:-(, wenn ich einen Wert direkt in der DB eintrage,
wird er auch im Backend angezeigt, nur in die andere Richtung nicht.

Grüße Micha

Woher kommt der Wert für dieses Feld bei Dir?
Du musst diesen ja irgendwo setzen - d.h. im zugehörigen Controller!

Hi,
danke für die Antwort, der Wert ist eine manuelle Eingabe nach einer Bestellung.
Ich möchte in das Seriennummernfeld eine Seriennummer eintragen:

Wenn ich auf aktualisieren drücke oder den Reiter wechsle ist die Eingabe nicht mehr zu sehen:

Hier meine order_article.tpl:


<form name="search" id="search" action="[{ $oViewConf->getSelfLink() }]" method="post">
    [{ $oViewConf->getHiddenSid() }]
    <input type="hidden" name="cur" value="[{ $oCurr->id }]">
    <input type="hidden" name="cl" value="order_article">
    <input type="hidden" name="oxid" value="[{ $oxid }]">
    <input type="hidden" name="fnc" value="updateOrder">
    
 <tr>
    [{block name="admin_order_article_header"}]
        <td class="listheader first">[{ oxmultilang ident="GENERAL_SUM" }]</td>
        <td class="listheader" height="15">   [{ oxmultilang ident="GENERAL_ITEMNR" }]</td>
        <td class="listheader">Seriennummer</td>
        <td class="listheader">   [{ oxmultilang ident="GENERAL_TITLE" }]</td>
        <td class="listheader">   [{ oxmultilang ident="GENERAL_TYPE" }]</td>
        <td class="listheader">   [{ oxmultilang ident="ORDER_ARTICLE_PARAMS" }]</td>
        <td class="listheader">   [{ oxmultilang ident="GENERAL_SHORTDESC" }]</td>
        <td class="listheader">[{ oxmultilang ident="ORDER_ARTICLE_ENETTO" }]</td>
        <td class="listheader">[{ oxmultilang ident="ORDER_ARTICLE_EBRUTTO" }]</td>
        <td class="listheader">[{ oxmultilang ident="GENERAL_ATALL" }]</td>
        <td class="listheader" colspan="3">[{ oxmultilang ident="ORDER_ARTICLE_MWST" }]</td>

    [{/block}]
</tr>
[{assign var="blWhite" value=""}]
[{foreach from=$edit->getOrderArticles() item=listitem name=orderArticles}]
<tr id="art.[{$smarty.foreach.orderArticles.iteration}]">
    [{block name="admin_order_article_listitem"}]
        [{ if $listitem->oxorderarticles__oxstorno->value == 1 }]
            [{assign var="listclass" value=listitem3 }]
        [{else}]
            [{assign var="listclass" value=listitem$blWhite }]
        [{/if}]
        <td valign="top" class="[{ $listclass}]">[{ if $listitem->oxorderarticles__oxstorno->value != 1 && !$listitem->isBundle() }]<input type="text" name="aOrderArticles[[{$listitem->getId()}]][oxamount]" value="[{ $listitem->oxorderarticles__oxamount->value }]" class="listedit">[{else}][{ $listitem->oxorderarticles__oxamount->value }][{/if}]</td>
        <td valign="top" class="[{ $listclass}]" height="15">[{if $listitem->oxarticles__oxid->value}]<a href="Javascript:editThis('[{ $listitem->oxarticles__oxid->value}]');" class="[{ $listclass}]">[{/if}][{ $listitem->oxorderarticles__oxartnum->value }]</a></td>
        <td valign="top" class="[{ $listclass}]"> <input type="text" name="aOrderArticles[[{$listitem->getId()}]][oxserial]" value="[{ $listitem->oxorderarticles__oxserial->value }]" class="listedit"> </td>
        <td valign="top" class="[{ $listclass}]">[{if $listitem->oxarticles__oxid->value}]<a href="Javascript:editThis('[{ $listitem->oxarticles__oxid->value }]');" class="[{ $listclass}]">[{/if}][{ $listitem->oxorderarticles__oxtitle->value|oxtruncate:20:""|strip_tags }]</a></td>
        <td valign="top" class="[{ $listclass}]">[{ $listitem->oxorderarticles__oxselvariant->value }]</td>
        <td valign="top" class="[{ $listclass}]">
            [{ if $listitem->getPersParams() }]
                [{foreach key=sVar from=$listitem->getPersParams() item=aParam}]
                           , <em>[{$sVar}] : [{$aParam}]</em>
                [{/foreach}]
            [{/if}]
        </td>
        <td valign="top" class="[{ $listclass}]">[{ $listitem->oxorderarticles__oxshortdesc->value|oxtruncate:20:""|strip_tags }]</td>
        <td valign="top" class="[{ $listclass}]">[{ $listitem->getNetPriceFormated() }] <small>[{ $edit->oxorder__oxcurrency->value }]</small></td>
        <td valign="top" class="[{ $listclass}]">[{ $listitem->getBrutPriceFormated() }] <small>[{ $edit->oxorder__oxcurrency->value }]</small></td>
        <td valign="top" class="[{ $listclass}]">[{ $listitem->getTotalBrutPriceFormated() }] <small>[{ $edit->oxorder__oxcurrency->value }]</small></td>
        <td valign="top" class="[{ $listclass}]">[{ $listitem->oxorderarticles__oxvat->value}]</td>
        <td valign="top" class="[{ $listclass}]">[{if !$listitem->isBundle()}]<a href="Javascript:DeleteThisArticle('[{ $listitem->oxorderarticles__oxid->value }]');" class="delete" [{if $readonly }]onclick="JavaScript:return false;"[{/if}] [{include file="help.tpl" helpid=item_delete}]></a>[{/if}]</td>
        <td valign="top" class="[{ $listclass}]">[{if !$listitem->isBundle()}]<a href="Javascript:StornoThisArticle('[{ $listitem->oxorderarticles__oxid->value }]');" class="pause" [{if $readonly }]onclick="JavaScript:return false;"[{/if}] [{include file="help.tpl" helpid=item_storno}]></a>[{/if}]</td>

    [{/block}]
</tr>
[{if $blWhite == "2"}]
[{assign var="blWhite" value=""}]
[{else}]
[{assign var="blWhite" value="2"}]
[{/if}]
[{/foreach}]
</table>

<input type="submit" value="[{ oxmultilang ident="ORDER_ARTICLE_UPDATE_STOCK" }]">

</form>


Irgendwie ist mein neues Feld nicht mit dem Aktualisieren verknüpft.

Vielen Dank für die Hilfe
Gruß Micha

Hallo,
kann mir keiner helfen?

Vielen Dank
Grüße Micha

Ich habe das gleiche Problem. Der Ansatz ist super. Wir benötigen in selten Fällen die Möglichkeit noch einen Preis zu ändern. Leider speichert er bei mir auch nichts?!

<td valign="top" class="[{ $listclass}]"><input type="text" name="aOrderArticles[[{$listitem->getId()}]][oxbrutprice]" value="[{ $listitem->oxorderarticles__oxbrutprice->value }]" class="listedit"></td>

Hi Jan,
bin auch noch nicht weiter gekommen:-( Das speichern funktioniert leider einfach nicht.

Gruß Micha

Keiner eine Idee?

VG
Micha

ich habe vor duie Variablen immer ein editval geschrieben.

<input class=“edittext” size=“10” type=“text” name=“editval[tabellenname__tabellenspalte]”>

so in der Art hab ich es gemacht.
Könnt ihr ja mal probieren und mir gerne Rückmeldung geben ob es geklappt hat.

Gruß

Hi Mediaworker,
danke für deine Antwort. Wo genau muss ich das einfügen, bin nicht so der super Programmierer:-)

Danke
Micha