Shartli holatlar formada yo'q

Moduli orqali form yaratyapman, chunki bu ikkala qo'shimchada ham yangilanish uchun foydalanmoqchiman. Qo'shiladigan foydalanuvchi oldindan kiritilgan qiymatlarni o'zgartirish uchun orqaga qaytish imkoniyati mavjud. Duch keladigan masala yangilash bilan.

Ushbu funktsiya qo'shish yoki yangilashni hal qiladi

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);
}

Ushbu funktsiya forma haqiqiy binosini boshqaradi

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;
}

Chiqish hozirda {code} {{} bo'lsa, {1name} = va {FirstName} shartli holatda tahlil qilinmaydi.

Har qanday yordam katta minnatdor!

1

1 javoblar

Menimcha, bu sizga zarur bo'lganidan murakkabroq. Bunga etarli:

if($variables != FALSE)
{
    $content = $this->EE->TMPL->parse_globals(
        $this->EE->TMPL->parse_variables($tagdata, $variables)//preps then runs parse_variables_row()    
    );
}
2
qo'shib qo'ydi
Faqatgina chop qilmang - shablonni ishlatish. Shabloni ayrıştırıcısının hal etish uchun shartlar uchun hali ham ishlashi kerak. Bu erda ular faqat prepped , aslida tahlil qilindi .
qo'shib qo'ydi muallif Ryan Fox, manba
Bu to'g'ri - lekin faqat sizning qo'shimcha kodingiz ichida chop etish siz kutgan narsalarni bermaydi. Ushbu yakuniy natijaga hali ham shablonni ayrıştırıcısı tomonidan qayta ishlash kerak bo'ladi, bu sizning formani aks ettirgan oldingi shablonni yuklaganida sodir bo'ladi.
qo'shib qo'ydi muallif Ryan Fox, manba
Yordamingiz uchun tashakkur. Sizning namunangizdan $ kontent chop etdi. Shartli {qaytariladiki, {agar NameName! = .... hech narsa. bu erda shablondan belgining qiymati value = "{if FirstName! =" "} {FirstName} {/ if}
qo'shib qo'ydi muallif Ray Mitchell, manba
Men to'g'ri foydalanmasligim kerak, buning uchun afsuslanaman ... Bu erda men kontentni o'z shaklimga qaytarishga harakat qilaman va bu erda bu erda tahlil qilinmaydi. $ form = $ this-> EE-> functions-> form_declaration ($ form_data). $ mazmuni. "</form>";
qo'shib qo'ydi muallif Ray Mitchell, manba
Yordamingiz uchun tashakkur. Ellislablardagi bolalar oqsoqollarni to'g'rilashdi. Sizning taklifingizga sodda o'zgarishlar bo'lishi bilan yakunlandi. $ this-> EE-> TMPL-> parse_variables o'rniga $ this-> EE-> TMPL-> parse_variables_row so'zini o'zgartirsa, $ this -> EE-> TMPL-> parse_variables_row - Agar siz javobingizni yangilamoqchi bo'lsangiz, men qabul qilganimdan xursand bo'laman.
qo'shib qo'ydi muallif Ray Mitchell, manba