2017-06-16 2 views
-3

チェックアウトプロセスのプレスタショップ1.7でニュースレターチェックボックスをデフォルトでチェックする方法を教えてください。チェックアウトプロセスでプレストショップ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

フォームをレンダリングしている正しいファイルは次のとおりです。ライン32で/themes/[your-activated-theme]/templates/customer/_partials/customer_form.tpl

ます

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

フォームフィールドを作成するための新しい方法ライン35ように、「{form_field}」Smartyの関数を呼び出している:フォームの入力フィールドをレンダリングする責任があり、このコードが見ることができますこのfuncitonは異なる入力の作成するには、このファイルを呼び出している:私の高速化ソリューション、そう

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

を(私はと思います最高ではありませんが、動作します)は、このファイルで直接変更して、ニュースレターとoptin入力時にチェックボックスの入力をチェックし、認証ページに入っていることを確認します。

これをフォームフィールドで91に変更してください.tplファイル:

宛先:

{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

関連する問題