Conditionals ня прааналізавана ў форме

Я ствараю форму з дапамогай модуля, які я хацеў бы выкарыстаць як для ўстаўкі і абнаўлення. Пасля таго як карыстальнік ўстаўкі мае магчымасць вярнуцца назад, каб змяніць значэнне раней ўваход. Пытанне, які я сустракаю гэта з абнаўленнем.

Гэтая функцыя прымае рашэнне, калі ўстаўкі або абнаўлення

public function form()
{
    session_start();
    $tagdata     = $this->EE->TMPL->tagdata;

    if(isset($_SESSION['id'])){
        $variables   = array();
        $variables[] = $_SESSION['tags'];

        return self::buildForm('updateForm', $tagdata, $variables);

    }

    return self::buildForm('addDonation', $tagdata);
}

У той час як гэтая функцыя апрацоўвае фактычнае пабудова формы

public function buildForm($method, $tagdata, $variables = FALSE)
{
    $hidden_fields = array(
        'ACT' =>  $this->EE->functions->fetch_action_id('Meal', $method)
    );

    if($variables != FALSE){

        $conditionals = $this->EE->TMPL->simple_conditionals($tagdata, $variables);
        $conditionals = $this->EE->TMPL->parse_variables_row($conditionals, $variables);

        print_r($conditionals);

        $content = $this->EE->TMPL->parse_globals($this->EE->TMPL->final_template);

    }

    //Build an array with the form data
    $form_data = array(
        "id"            => $this->EE->TMPL->form_id,
        "class"         => $this->EE->TMPL->form_class,
        'hidden_fields' => $hidden_fields
    );

    $form = $this->EE->functions->form_declaration($form_data) . $content . "</form>";

    return $form;
}

Выхад у цяперашні час {калі FirstName! = і {FirstName} ва ўмоўным не разбіраецца.

Любая дапамога вельмі цэніцца!

1

1 адказы

Я думаю, што вы робіце гэта больш складаным, чым гэта неабходна. Гэтага павінна быць дастаткова:

if($variables != FALSE)
{
    $content = $this->EE->TMPL->parse_globals(
        $this->EE->TMPL->parse_variables($tagdata, $variables)//preps then runs parse_variables_row()    
    );
}
2
дададзена
Не проста раздрукаваць яго - выкарыстоўваць яго ў якасці шаблону. Шаблон парсер яшчэ трэба запусціць праз яго за умоўнымі быць разабраны. На дадзены момант яны толькі <я> накіраваны , а не на самай справе <я> разабраны .
дададзена аўтар Ryan Fox, крыніца
Гэта правільна - але толькі друк яго ўнутры дадатковы код не дасць тое, што вы чакаеце. Гэта канчатковы вынік усё роўна павінен быць апрацаваны шаблон парсер, які адбываецца, калі ваш пярэдні канец шаблону, які адлюстроўвае форму загружаецца.
дададзена аўтар Ryan Fox, крыніца
Дзякуй за дапамогу. Раздрукоўваецца $ змесціва з вашага прыкладу. Ён вяртае ўмоўнае {калі FirstName! = .... нічога. тут разметка з шаблону Значэнне = "{калі FirstName! =" "} {FirstName} {/, калі}
дададзена аўтар Ray Mitchell, крыніца
Я не павінен быць правільна выкарыстоўваць, прабачце ліў пачатковец у гэтым ... Вось дзе я спрабую паставіць змесціва назад у маю форму, і гэта не аналізуецца тут. <Код> $ форма = $ this-> EE-> functions-> form_declaration ($ form_data). $ Змест. "</form>";
дададзена аўтар Ray Mitchell, крыніца
Дзякуй за дапамогу. Хлопцы ў Ellislabs выпрастаны рэчы. Закончаны быць проста варыяцыя на вашу прапанову. <Код> $ this-> EE-> TMPL-> parse_variables замяняе $ this-> EE-> TMPL-> parse_variables_row , ён робіць падрыхтоўчую работу перад выклікам $ this- -> EE-> TMPL-> parse_variables_row - Калі вы хочаце абнавіць свой адказ, я буду рады прыняць.
дададзена аўтар Ray Mitchell, крыніца