IČ a DIČ do adresy

Tento dokument představuje uživatelskou dokumentaci k Modulu IČ a DIČ do adresy. Naleznete zde popis funkcí, návod na instalaci a použití modulu.

Licence modulu

Modul je poskytován s licencí  OSL v 3.0.

Stažení modulu

  • Vyberte si verzi modulu, která je kompatibilní s verzí Magenta, kterou používáte:
Magento verze Verze modulu Datum vydání modulu
1.4.1.x CE* 3.1.1.0 3. 1. 2011
1.4.2.x CE* 3.2.0.0 28. 2. 2011
1.5.x CE* 4.0.0.0 18.8. 2011

* Community edition

Dokumentace modulu

Podpora modulu je realizována prostřednictvím fóra na Magento.CZ:

1. Funkce modulu

Pro správnou fakturaci, která je nezbytnou součástí internetového obchodování, je třeba do adresy zákazníka zanést IČ a DIČ. Základní instalace Magento bohužel s těmito údaji nepočítá.

Modul IČ a DIČ:

  • přidává možnost vyplnění IČ a DIČ v adrese zákazníka
  • umožňuje korektní fakturace
  • řeší zanesení IČ a DIČ pro OnePage Checkout
  • řeší zanesení IČ a DIČ pro OneStep Checkout

2. Stažení a instalace modulu

  • Stažení, instalace a aktualizace modulu je popsána zde.

3. Nastavení a použití modulu

Po instalaci se v v backeend modul projeví tak, že profil zákazníka v Zákazníci → Správa zákazníků → → Adresy → Přidat novou adresu/Upravit zákaznické adresy obsahuje navíc položku a Dič.

Obrázek 1: Nová pole v adrese zákazníka.


Pro nastavení ve frontendu je nutná změna šablon. Položky a Dič se potom objeví v profilu zákazníka a tektéž budou zobrazeny při zadávání adresy při procesu dokončení objednávky - jsou tedy dostupné i v příapadě povolení nákupu pro nepřihlášené zákazníky.

Pro OnePage Checkout

Do app/design/frontend/XXX/YYY/template/customer/address/edit.phtml, kde XXX a YYY je název balíčku resp. designu, pro který chcete modul použít, vložte za původní kód,

<li>
 <label for="company"><?php echo $this->__('Company') ?></label><br />
  <input type="text" name="company" id="company" title="<?php echo $this->__('Company') ?>" value="<?php echo $this->htmlEscape($this->getAddress()->getCompany()) ?>" class="input-text" />
</li>

tj. cca na řádek 54, kód následující:

<?php //Nostress modification ?>
            <li class="fields">
               <div class="field">
                   <label for="ico"><?php echo $this->__('Ičo') ?></label>
               <div class="input-box">
                      <input type="text" name="ico" id="ico" title="<?php echo $this->__('Ičo') ?>" value="<?php echo $this->htmlEscape($this->getAddress()->getIco()) ?>" class="input-text" />
               </div>
            </div>
            <div class="field">
                   <label for="dic"><?php echo $this->__('Dič') ?></label>
               <div class="input-box">
                      <input type="text" name="dic" id="dic" title="<?php echo $this->__('Dič') ?>" value="<?php echo $this->htmlEscape($this->getAddress()->getDic()) ?>" class="input-text" />
                  </div>
            </div>
            </li>
            <?php //end - Nostress modification ?>

Dále do app/design/frontend/XXX/YYY/template/checkout/onepage/shipping.phtml, za kód

<?php if(false): ?>
            <div class="input-box">
            <label for="shipping:email"><?php echo $this->__('Email Address') ?> <span class="required">*</span></label><br />
            <input type="text" name="shipping[email]" id="shipping:email" value="<?php echo $this->htmlEscape($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="validate-email required-entry input-text" /></div>
<?php endif ?>
            </li>

tj. a řádek cca 47, vložte kód:

              <?php //Nostress modification ?>
                   <li class="fields">
                      <div class="field">
                         <label for="shipping:ico"><?php echo $this->__('Ičo') ?></label>
                         <div class="input-box">
                            <input type="text" id="shipping:ico" name="shipping[ico]" value="<?php echo $this->htmlEscape($this->getAddress()->getIco()) ?>" title="<?php echo $this->__('Ičo') ?>" class="input-text" />
                                </div>
                      </div>
                      <div class="field">
                         <label for="shipping:dic"><?php echo $this->__('Dič') ?></label>
                         <div class="input-box">
                         <input type="text" id="shipping:dic" name="shipping[dic]" value="<?php echo $this->htmlEscape($this->getAddress()->getDic()) ?>" title="<?php echo $this->__('Dič') ?>" class="input-text" />
                                </div>
                      </div>
                   </li>
             <?php //end - Nostress modification ?>

A konečně do app/design/frontend/XXX/YYY/template/checkout/onepage/billing.phtml, za kód

<?php if(!$this->isCustomerLoggedIn()): ?>
                <div class="input-box">
                <label for="billing:email"><?php echo $this->__('Email Address') ?> <span class="required">*</span></label><br />
                <input type="text" name="billing[email]" id="billing:email" value="<?php echo $this->htmlEscape($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="validate-email required-entry input-text" /></div>
    <?php endif ?>
                </li>

tj. a řádek cca 47, vložte kód:

          <?php //Nostress modification ?>
                <li class="fields">
                   <div class="field">
                      <label for="billing:ico"><?php echo $this->__('Ičo') ?></label>
                      <div class="input-box">
                         <input type="text" id="billing:ico" name="billing[ico]" value="<?php echo $this->htmlEscape($this->getAddress()->getIco()) ?>" title="<?php echo $this->__('Ičo') ?>" class="input-text" />
                      </div>
                   </div>
                   <div class="field">
                      <label for="billing:dic"><?php echo $this->__('Dič') ?></label>
                      <div class="input-box">
                      <input type="text" id="billing:dic" name="billing[dic]" value="<?php echo $this->htmlEscape($this->getAddress()->getDic()) ?>" title="<?php echo $this->__('Dič') ?>" class="input-text" />
                      </div>
                   </div>
                </li>
          <?php //end - Nostress modification ?>

Pro OneStep Checkout

Pouze verze modulu pro magento 1.4.2 a vyšší.

Do app/design/frontend/XXX/YYY/template/onestepcheckout/billing_fields.phtml, kde XXX a YYY je název balíčku resp. designu, pro který chcete modul použít, vložte za původní kód,

<?php if(!$this->settings['exclude_fax']): ?>
    <?php $billingFields['fax'] = '
        <div class="input-box input-fax'.((in_array('fax', $formErrors)) ? ' input-error' : '').'">
            <label for="billing:fax">'.$this->__('Fax').'</label><br/>
            <input type="text" name="billing[fax]" value="'.$this->htmlEscape($this->getFax()).'" title="'.$this->__('Fax').'" class="input-text" id="billing:fax" />
        </div>';
    ?>
<?php endif; ?>

tj. cca na řádek 124, kód následující:

<?php //Nostress modification ?>
<?php if(!$this->settings['exclude_ico']): ?>
    <?php $billingFields['ico'] = '
        <div class="input-box input-ico'.((in_array('ico', $formErrors)) ? ' input-error' : '').'">
            <label for="billing:ico">'.$this->__('Ico').'</label><br/>
            <input type="text" name="billing[ico]" value="'.$this->htmlEscape($this->getIco()).'" title="'.$this->__('Ico').'" class="input-text" id="billing:ico" />
        </div>';
    ?>
<?php endif; ?>
<?php if(!$this->settings['exclude_dic']): ?>
    <?php $billingFields['dic'] = '
        <div class="input-box input-dic'.((in_array('dic', $formErrors)) ? ' input-error' : '').'">
            <label for="billing:dic">'.$this->__('Dic').'</label><br/>
            <input type="text" name="billing[dic]" value="'.$this->htmlEscape($this->getDic()).'" title="'.$this->__('Dic').'" class="input-text" id="billing:dic" />
        </div>';
    ?>
<?php endif; ?>
<?php //end - Nostress modification ?>

Do app/design/frontend/XXX/YYY/template/onestepcheckout/shipping_fields.phtml, kde XXX a YYY je název balíčku resp. designu, pro který chcete modul použít, vložte za původní kód,

<?php if(!$this->settings['exclude_fax']): ?>
    <?php $shippingFields['fax'] = '
        <div class="input-box input-fax'.((in_array('fax', $formErrors)) ? ' input-error' : '').'">
            <label for="shipping:fax">'.$this->__('Fax').'</label><br/>
            <input type="text" name="shipping[fax]" value="'.$this->htmlEscape($this->getShippingFax()).'" title="'.$this->__('Fax').'" class="input-text" id="shipping:fax" />
        </div>';
    ?>
<?php endif; ?>

tj. cca na řádek 100, kód následující:

<?php //Nostress modification ?>
<?php if(!$this->settings['exclude_ico']): ?>
    <?php $shippingFields['ico'] = '
        <div class="input-box input-ico'.((in_array('ico', $formErrors)) ? ' input-error' : '').'">
            <label for="shipping:ico">'.$this->__('Ico').'</label><br/>
            <input type="text" name="shipping[ico]" value="'.$this->htmlEscape($this->getIco()).'" title="'.$this->__('Ico').'" class="input-text" id="shipping:ico" />
        </div>';
    ?>
<?php endif; ?>
<?php if(!$this->settings['exclude_dic']): ?>
    <?php $shippingFields['dic'] = '
        <div class="input-box input-dic'.((in_array('dic', $formErrors)) ? ' input-error' : '').'">
            <label for="shipping:dic">'.$this->__('Dic').'</label><br/>
            <input type="text" name="shipping[dic]" value="'.$this->htmlEscape($this->getDic()).'" title="'.$this->__('Dic').'" class="input-text" id="shipping:dic" />
        </div>';
    ?>
<?php endif; ?>
<?php //end - Nostress modification ?>

Dále je potřeba provés upravu souboru app/code/local/Idev/OneStepCheckout/Block/Checkout.php.

  • Ve funkci getBillingFieldsOrder nahradte řádek obsahující následující kód:
     'company-fax' => array('fields' => array('company','fax')),
    
    řádkem
     'company-fax' => array('fields' => array('company','fax','ico','dic')),
    
  • Ve funkci getShippingFieldsOrder nahradte řádek obsahující následující kód:
     'company-fax' => array('fields' => array('company','fax')),
    
    řádkem
     'company-fax' => array('fields' => array('company','fax','ico','dic')),
    

Nastavení pouze pro Magento 1.4.2 a vyšší

Pro správné zobrazování IČ a DIČ ve frontendu je dále potřeba upravit šablony v System -> Configuration -> Customer Configuration -> Address Templates . Pro jednotlivé šablony je třeba přidat následující řetězce:

  • Text
    {{depend ico}}___ICO___: {{var ico}}{{/depend}}
    {{depend dic}}___DIC___: {{var dic}}{{/depend}}
    
  • Text One Line
    {{depend ico}}{{var ico}} {{/depend}},
    {{depend dic}}{{var dic}} {{/depend}}
    
  • HTML
    {{depend ico}}<br />___ICO___: {{var ico}}{{/depend}}
    {{depend dic}}<br />___DIC___: {{var dic}}{{/depend}}
    
  • PDF
    {{depend ico}}___ICO___: {{var ico}}|{{/depend}}
    {{depend dic}}___DIC___: {{var dic}}|{{/depend}}
    
  • JavaScript Template
    #{ico}<br/>#{dic}<br/>
    


4. Release notes

Verze 4.0.0.0 - 18. 8. 2011

  • Opravené chyby:
    • kompatibilita pro Magento 1.5, odstraněn problém s prefixy tabulek

Verze 3.2.0.0 - 28. 2. 2011

  • Opravené chyby:
    • kompatibilita pro Magento 1.4.2, čtěte pozorně postup instalace

Verze 3.1.1.0 - 23. 1. 2011

  • Opravené chyby:
    • odstraněn licenční model
    • odstraněna chyba zpusobující nefunkční správu zákazníků v backendu

Verze 3.0.0.1 - 26. 3. 2010

  • Opravené chyby:
    • první vydání modulu, historie starších verzí modulu nebyla uchovávána

Verze 2.2.4.0 - 26. 3. 2010

  • Opravené chyby:
    • první vydání modulu, historie starších verzí modulu nebyla uchovávána

Attachments