Elemente personalizate de editare a formularului

Elemente personalizate de editare a formularului

Forma de adăugare / schimbare a elementelor blocurilor de informații este una dintre cele mai frecvent utilizate, iar în magazine online sau în publicații de informații acest formular este unic cel mai popular în secțiunea administrativă. Și în ciuda faptului că câmpurile de aspect și forme se modifică în funcție de setările blocului de informații și puteți personaliza forma formularului de editare a elementelor prin mijloacele standard ale sistemului, pentru anumite sarcini, uneori acest lucru nu este suficient.

În acest caz, în / bitrix / php_interface / include /, trebuie să creați unul sau două fișiere suplimentare (în funcție de sarcină):

Apoi, în setările blocului de informații, specificați căile spre aceste fișiere:

Elemente personalizate de editare a formularului

Fișier cu formularul pentru editarea unui element

Creați în directorul / bitrix / php_interface / include /. de exemplu, fișierul iblock_element_edit_my.php. apoi copiați codul din fișierul /bitrix/modules/iblock/admin/iblock_element_edit.php din linia:

Acum puteți începe editarea fișierului, adică pentru a schimba aspectul formei de editare a elementului bloc de informații pentru nevoile proprii. (Înainte de procedură, trebuie să anulați setările formularului, dacă există, care au fost făcute anterior.)

  • Puteți șterge câmpurile blocului de informații de care nu aveți nevoie. Pentru a afișa câmpurile de formă, se folosesc următoarele construcții:
  • Pentru a afișa proprietățile elementelor blocului de informații, utilizați funcția _ShowPropertyField ().

    Dacă utilizați propriul formular, butonul Personalizare dispare pe pagina Editare element. Vă permite să sortați și să personalizați afișarea câmpurilor formularului de elemente.

    Pentru a nu adăuga mecanismul de sortare a câmpurilor în iblock_element_edit_my.php și nu pentru a renunța la funcția standard, trebuie să adăugați următorul cod în fișier:

    Important! Nu uitați să specificați calea către acest fișier în setările blocului de informații.

    Dosarul responsabil pentru procesarea câmpurilor elementului înainte de salvarea acestuia

    Pentru a modifica câmpurile salvate, trebuie să modificați aceleași câmpuri în matricele $ _POST și $ _FILES. valorile tuturor proprietăților trebuie să fie modificate în matricea $ PROP.

    Creați în / bitrix / php_interface / include /. de exemplu, fișierul iblock_element_edit_before_save.php.

    Pentru a verifica dacă textul detaliat al elementului este introdus, vom folosi următoarea condiție:

    Constructorul obiectului _CIBlockError ia trei parametri: severitatea erorii, identificatorul arbitrar și textul de eroare. Dacă definiți variabila $ eroare pe pagina de editare cu valoarea acestui obiect, atunci modificările efectuate nu vor fi salvate. Pentru a ne asigura că valorile care provin din formular nu sunt pierdute, după inițializarea variabilei $ error, inițializați și variabila $ bVarsFromForm = true. Variabila $ bVarsFromForm indică doar că valorile din câmpuri trebuie să arate cele care au apărut din formular.

    Pentru a crea automat o imagine mică bazată pe dimensiuni mari, vom folosi funcția BXIBlockAfterSave. Dacă o definiți înainte de a salva elementul, acesta va fi automat apelat după ce elementul a fost salvat cu succes. Definiți-o la începutul fișierului /bitrix/php_interface/include/iblock_element_edit_before_save.php:

    Notă: în scriptul de mai sus, va fi creată o imagine mică bazată pe imaginea mare și această imagine va fi înlocuită în câmp pentru o imagine mică. Exemplul funcționează numai cu imagini în format JPG.

    Aici este codul integral al paginii /bitrix/php_interface/include/iblock_element_edit_before_save.php.

    Important! Nu uitați să specificați calea către acest fișier în setările blocului de informații.

    Uneori este necesar să efectuați schimbări de o natură complet diferită, de exemplu, formularul de intrare și modificarea mai multor imagini în același timp, în acest caz, trebuie doar să vă creați o nouă pagină nouă și să o adăugați în meniul administrativ.

    Materiale suplimentare