Posts Tagged b2b
Magento B2B Lösung
Da einer der Shops die ich betreibe ein reiner Business to Business ist ergab sich für mich das Problem das nur nicht registrierte Kunden ausser die Login Maske sehen sollten.
Ich hab mir als erstes die Extension von Sitewards installiert aber diese ging mir nicht weit genug…
Mein Wunsch war eben das der Besucher gleich zum Login geleitet wird und keine Preise oder Kategorie-Menü sieht. Die Kunden bekommen in diesem Fall die Zugangsdaten über die Admin angelegt und zugeschickt.
Folgende Änderungen hab ich dafür vorgenommen:
index.php
/**
* Magento
*
* NOTICE OF LICENSE
*
....
*/
umask(0);
Mage::run('default');
if (!Mage::getSingleton('customer/session')->isLoggedIn() && strpos($_SERVER['REQUEST_URI'],'admin') == 0 && strpos($_SERVER['REQUEST_URI'],'customer/account/login/') == 0)
{
if($_SERVER['https'] == 'on')
$https = 'https://';
else
$https = 'http://';
header('Location: '.$https.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'/customer/account/login/');
}
Und in meinem Template Verzeichnis die Datei:
catalog/navigation/top.phtml
<div class="header-nav-container">
<div class="header-nav">
<?php
if (Mage::getSingleton('customer/session')->isLoggedIn()){
?>
<h4 class="no-display"><?php echo $this->__('Category Navigation:') ?></h4>
<ul id="nav">
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php echo $this->drawItem($_category) ?>
<?php endforeach ?>
</ul>
<?php
}
?>
</div>
<?php echo $this->getChildHtml('topLeftLinks') ?>
</div>
/*...*/
Danach habe ich noch einen CMS Block angelegt (Seitenbezeichner “bitteeinloggen”) und diesen per XML über das Login Formular gesetzt.
layout/customer.xml
Layout for customer login page
-->
<customer_account_login>
<!-- Mage_Customer -->
<remove name="right"/>
<remove name="left"/>
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
<reference name="content">
<block type="cms/block" name="contacts">
<action method="setBlockId"><block_id>bitteeinloggen</block_id></action>
</block>
<block type="customer/form_login" name="customer_form_login" template="customer/form/login.phtml"/>
</reference>
</customer_account_login>