2017-06-16 38 views
-3

如何使checkstopop 1.7中的默認選項卡在checkout過程中被選中?如何在結賬過程中在prestashop 1.7中默認選中通訊複選框?

enter image description here

更新: 我發現那裏的形式rendrered文件: \模塊\ ps_emailsubscription \ ps_emailsubscription.php

但是足夠驚人有定義沒有改變屬性的功能。

public function hookAdditionalCustomerFormFields($params) 
{ 
    $label = $this->trans(
     'Sign up for our newsletter[1][2]%conditions%[/2]', 
     array(
      '[1]' => '<br>', 
      '[2]' => '<em>', 
      '%conditions%' => Configuration::get('NW_CONDITIONS', $this->context->language->id), 
      '[/2]' => '</em>', 
     ), 
     'Modules.Emailsubscription.Shop' 
    ); 

    return array(
     (new FormField()) 
      ->setName('newsletter') 
      ->setType('checkbox') 
      ->setLabel($label)); 
} 

回答

1

正在呈現形式正確的文件是:

/themes/[your-activated-theme]/templates/customer/_partials/customer_form.tpl

在第32行你可以看到這個代碼是RESPONSABLE來渲染表單的輸入域:

{block "form_fields"} 
    {foreach from=$formFields item="field"} 
    {block "form_field"} 
     {form_field field=$field} 
    {/block} 
    {/foreach} 
    {$hook_create_account_form nofilter} 
{/block} 

新的方法來創建表單域被調用函數的Smarty「{} form_field」,欲行35 這個函式調用此文件來創建不同的輸入的:

/themes/[your-activated-theme]/templates/_partials/form-fields.tpl

所以,我更快的解決方案(我認爲這不是最好的,但工作)是直接在這個文件中更改,說當它是時事通訊和optin輸入,並且它在驗證頁面時,檢查複選框輸入:

在form-fileds .tpl文件:

{if $field.value)} 

收件人:

{if $field.value || ($field.name == "newsletter" && $page.page_name == 'authentication') || ($field.name == "optin" && $page.page_name == 'authentication')} 

希望它可以幫助你。

0

我以前的答案沒有工作,所以我只是改變了:

{if $field.value}checked="checked"{/if}

到:

checked="checked"

的問候, B

相關問題