B2B Modul
Leider ist es in der Community Edition von Oxid nicht möglich Händlern Nettopreise anzuzeigen. Deshalb hat ein Freund, welcher einigen als “spass-tea” aus dem Oxid-Forum bekannt sein könnte, von mir ein Modul entwickelt das dieses Ermöglicht.
Hinweis: Das Oxid B2B Modul wurde nur mit der Version 4.2 des Oxid CE Shops getestet, wenn es zu Problemen kommen sollte, kann man das hier gerne melden.
Bedienungsanleitung
Ist das Modul installiert kann man im Oxid-Adminpanel unter Benutzer verwalten->Benutzergruppen einer bestimmten Benutzergruppe B2B-Rechte erteilen. Alle Benutzer dieser Gruppe haben ab dann im Oxid B2B-Zugang.
Installationsanleitung für das Oxid B2B Modul
1. Schritt
1. Schritt
Zunächst wird folgende Datei benötigt: Oxid B2B Modul
Nach dem diese heruntergeladen ist müssen die Dateien im Ordner “copy_this” in dem Archiv unter SHOPDIR entpackt werden, wobei SHOPDIR der Ordner ist in dem Oxid installiert ist.
2. Schritt
Jetzt muss man im Oxid-Adminpanel unter Service->Tools->SQL folgende SQL-Befehle ausführen:
3. Schritt
In diesem Schritt muss man bei SHOPDIR/out/basic/de/cust_lang.php, wobei SHOPDIR der Ordner ist in dem Oxid installiert ist, folgendes hinzufügen:
'ACCOUNT_LOGIN_B2B_VERIFY' => 'Ihr Account wurde noch nicht als Händler verifiziert, weitere Infos: HIER ENTSPRECHENDEN TEXT BZW LINK EINFÜGEN',
'INC_CMP_BASKET_NETTO' => '(Netto)',
'DETAILS_PLUSSHIPPING_NETTO' => 'zzgl. MwSt., zzgl.',
'INC_FOOTER_EXCLTAXANDPLUSSHIPPING' => '* Alle Preise zzgl. MwSt., zzgl. Versandkosten.',
'INC_HEADER_EXCLTAXANDPLUSSHIPPING' => 'Alle Preise zzgl. MwSt., zzgl. Versandkosten.'
4. Schritt
Nun muss im Oxid-Adminpanel unter Stamdaten->Grundeinstellung->System->Module folgendes eingetragen werden:
oxbasket => b2b/basketb2b
oxuser => b2b/userb2b
oxarticle => b2b/articleb2b
usergroup_main => b2b/usergroupmainb2b
oxcmp_user => b2b/cmp_userb2b
oxprice => b2b/priceb2b
oxshopcontrol => b2b/shopcontrolb2b
oxsimplevariant => b2b/simplevariantb2b
5. Schritt
Im letzten Schritt sind folgende Template Anpassungen durchzuführen. Die Templates sind standardmäßig unter SHOPDIR/out/basic/tpl/, wobei SHOPDIR der Ordner ist in dem Oxid installiert ist, zu finden:
admin/usergroup_main.tpl
Nach
folgendes einfügen
<td class="edittext" width="100">
[{ oxmultilang ident="GENERAL_NAME" }]
</td>
<td class="edittext">
<input type="text" class="editinput" size="25" maxlength="[{$edit->oxgroups__oxtitle->fldmax_length}]" name="editval[oxgroups__oxtitle]" value="[{$edit->oxgroups__oxtitle->value}]" [{ $readonly }] [{ $disableSharedEdit }]>
[{ oxinputhelp ident="HELP_GENERAL_NAME" }]
</td>
</tr>
<td class="edittext" width="70">
B2B
</td>
<td class="edittext">
<input class="edittext" type="checkbox" name="editval[oxgroups__b2b]" value='1' [{if $edit->oxgroups__b2b->value == 1}]checked[{/if}] [{ $readonly }] [{ $disableSharedEdit }]>
</td>
</tr>
details.tpl
Folgendes
ersetzen mit
Folgendes
[{ oxmultilang ident="DETAILS_PLUSSHIPPING_NETTO" }]
[{else}]
[{ oxmultilang ident="DETAILS_PLUSSHIPPING" }]
[{/if}]
ersetzen mit
[{$priceItem->fnetprice}]
[{else}]
[{$priceItem->fbrutprice}]
[{/if}]
_footer.tpl
Folgendes
ersetzen mit
[{ oxmultilang ident="INC_FOOTER_EXCLTAXANDPLUSSHIPPING" }]
[{else}]
[{ oxmultilang ident="INC_FOOTER_INCLTAXANDPLUSSHIPPING" }]
[{/if}]
inc/popup_basket.tpl
Nach
folgendes einfügen
Folgend
[{ oxmultilang ident="INC_CMP_BASKET_NETTO" }]
[{/if}]
ersetzen mit
[{ $oxcmp_basket->getProductsNetPrice() }]
[{else}]
[{ $oxcmp_basket->getFProductsPrice()}]
[{/if}]
[{ $currency->sign}]
[{if $oxcmp_user->b2b}]
[{ oxmultilang ident="INC_CMP_BASKET_NETTO" }]
[{/if}]
dyn/mini_basket.tpl
Nach
folgendes einfügen
Folgendes
[{ oxmultilang ident="INC_CMP_BASKET_NETTO" }]
[{/if}]
ersetzen mit
[{ $oxcmp_basket->getProductsNetPrice() }]
[{else}]
[{ $oxcmp_basket->getFProductsPrice()}]
[{/if}]
[{ $currency->sign}]
[{if $oxcmp_user->b2b}]
[{ oxmultilang ident="INC_CMP_BASKET_NETTO" }]
[{/if}]
dyn/top_basket.tpl
Folgendes
ersetzen mit
[{$oxcmp_basket->getProductsNetPrice()}]
[{else}]
[{ $oxcmp_basket->getFProductsPrice()}]
[{/if}]
_path.tpl
Folgendes
ersetzen mit
[{ oxmultilang ident="INC_HEADER_EXCLTAXANDPLUSSHIPPING" }]
[{else}]
[{ oxmultilang ident="INC_HEADER_INCLTAXANDPLUSSHIPPING" }]
[{/if}]
6. Schritt
Unter SHOPDIR/tmp/, wobei SHOPDIR der Ordner ist in dem Oxid installiert ist müssen jetzt nun noch alle Dateien gelöscht werden. Keine Angst dies sind nur temporäre Dateien die der Oxid-Shop bei bedarf wieder neu generiert.
Individuelle Anpassungen
Um individuelle Anpassungen an die eigenen Bedürfnisse vorzunehmen ist ein Blick in SHOPDIR/modules/b2b/shopcontrolb2b.php nötig, wobei SHOPDIR der Ordner ist in dem Oxid installiert ist.
Anpassung welche Seiten für nicht B2B-Nutzer einsehbar sind
Hierzu betrachtet man folgende zwei Arrays
In diesem Fall ist es so, dass durch protected $_showContentToNonB2B = array('oximpressum'); das das Impressum nicht eingeloggten Nutzern, also der nicht B2B-Kunden, angezeigt wird. Diese Einträge entsprechen den Idents die unter Kundeninformationen->CMS-Seiten->Stamm->Ident. zu finden sind.
Bei protected $_showViewsToNonB2B = array('account', 'forgotpwd', 'register', 'login', 'contact'); wird angegeben welche statischen Seiten (Views) der nicht eingeloggten Nutzern, also der nicht B2B-Kunden, angezeigt bekommt und betreten darf. Die Voreinstellungen welche hier getroffen wurden dürften im Regelfall so stimmen, da der Nutzer sich hier:
- Sich mit seinem vorhanden Account anmelden bzw. diesen verwalten kann (account)
- Ein neues Passwort anfordern kann (forgotpwd)
- Einen neuen Account registrien kann (register)
- Sich mit seinem vorhanden Account anmelden kann (login)
- Die Kontaktseite aufrufen kann (contact)
Falls eine der aufgelisteten Aktionen nicht gewünscht ist muss einfach der entsprechende Eintrag entfernt werden.


February 7th, 2010 at 1:52 am
[...] B2B Modul [...]