Creați un grup sau un proiect. Întrebări despre grupuri de lucru și proiecte De ce ar trebui să transferați un proiect în Bitrix

Pe parcursul întregii mele lucrări cu Bitrix, am avut ocazia să lucrez cu un număr foarte mare de proiecte pe care cineva le-a dezvoltat înaintea mea. Există, de asemenea, îmbunătățiri minore, remedieri pentru diverse erori și erori logice, reproiectarea site-ului web și modificări globale ale funcționalității existente. Și, ca orice alt dezvoltator, urăsc să trec prin gunoiul altor oameni, cârje și petice „temporare” care amintesc de fapt de cea de-a 8-a ediție a produsului.

Aici voi încerca să nu mă concentrez pe „cele mai proaste practici” standard atunci când programez în PHP, cum ar fi nerespectarea alegerii numelor de variabile și funcții, interogări inutile la baza de date într-o buclă, lipsa verificării datelor utilizatorului în formulare, ignorarea comentariilor , și altele asemenea. Voi încerca să ating punctele inerente dezvoltării pe Bitrix, care ulterior vă vor permite să evitați indignarea și blestemele îndreptate asupra dvs. din partea programatorului care s-a întâmplat să vă întrețină codul. Și da, de multe ori tu însuți vei fi acest programator într-un an sau mai mult, când ai uitat complet de ce ai introdus cutare sau cutare cârjă aici.

„Scrieți codul ca și cum ar fi însoțit de un psihopat violent care știe unde locuiți.” © John F. Woods

În primul rând și, după părerea mea, cel mai important - pentru numele lui Dumnezeu, utilizați folderul local. Acest lucru este pur și simplu vital atunci când utilizați un sistem de control al versiunilor - tot ce aveți nevoie este să adăugați folderul /bitrix/ la excepții. Toate. În plus, aproape toată dezvoltarea se realizează numai în ea. Acest lucru simplifică semnificativ căutarea fișierelor și componentelor necesare mai târziu, ajută la a nu aglomera depozitul cu fișiere inutile și, în general, aduce arborele proiectului într-un aspect mai ordonat, „uman”.

Nu modificați nucleul. Chiar dacă ești sigur că nu va fi actualizat. Chiar dacă este mai rapid. Chiar dacă ești leneș. Uită acest gând ca pe un vis urât. Dacă trebuie să schimbați logica unei componente standard, mutați-o în noul spațiu de nume /local/components/modify/ și lucrați cu ea. Același lucru este valabil și pentru module, gadget-uri și activități ale proceselor de afaceri.

Nu aruncați fișierul init.php. Combinați funcțiile pentru a lucra cu un anumit modul sau funcționalitate într-o clasă, scrieți această clasă întreagă într-un fișier separat și în init.php conectați pur și simplu aceste fișiere și scrieți handlere de evenimente. Am întâlnit fișiere init.php de 500Kb, în ​​care funcțiile, definirea constantelor, clasele și inițializarea handlerelor au fost amestecate într-o mizerie. Desigur, când a trebuit să triez aceste fișiere, mi-am înjurat predecesorii.

Următorul punct nu se aplică în cazul dezvoltării de soluții gata făcute pentru Piață, când scopul este de a realiza cea mai personalizabilă funcționalitate din partea publică pentru utilizatorul final. Dacă lucrați la un anumit proiect, conform unei specificații tehnice specifice - nu ar trebui să încercați să faceți un șablon unificat pentru o componentă pentru toate ocaziile. Personal, aderă la filozofie - este mai bine să aveți mai multe șabloane simple folosite în scopuri diferite decât unul universal, dar în care diavolul însuși își va rupe piciorul mai târziu. Desigur, în fiecare caz specific trebuie să începeți de la ceea ce este disponibil - specificații tehnice, opțiuni de implementare și altele asemenea, dar tot nu ar trebui să uitați de Occam’s Razor. Ca exemplu, voi da un proiect al unei companii de leasing pe care am avut ocazia să o gestionez. Proiectul în sine, desigur, a fost implementat îngrozitor, adevărata groază a fost în paginile secțiunii de catalog de servicii. Fiecare dintre cele cinci secțiuni avea propriul aspect, care diferea atât prin poziția blocurilor pe pagină, cât și, în principiu, prin prezența unora dintre ele. Și pentru toate cele cinci pagini, un șablon a fost folosit cu o grămadă de if-else, duplicarea apelurilor componente, stiluri de conectare și scripturi, care, în plus, intrau periodic în conflict între ele. Drept urmare, un dosar imens, care a fost ca moartea să înțelegem „fără jumătate de litru”. Deși, s-ar părea, ce te-a împiedicat să faci 5 șabloane diferite și să nu creezi dificultăți din senin?

Utilizați API-ul. Nu reinventați roțile acolo unde nu este nevoie. Utilizați documentația - întregul produs este destul de bine descris și puteți vedea, de asemenea, fiecare funcție în detaliu pe bxapi.ru.

Evitați interogările directe către baza de date. Acesta este un caz special al punctului anterior - utilizați API-ul. Solicitările imprudente și neprotejate pot duce la deteriorarea, pierderea sau chiar compromisul datelor.

Nu utilizați componente CNC de la rădăcina site-ului. Consecințele sunt de obicei destul de triste, deoarece CNC folosește un fișier de gestionare a adresei, încercând să-l folosească de la rădăcină, rupe cu ușurință adresarea altor componente, precum și 404 pagini; Nu va fi nimic în neregulă dacă articolele dvs. sunt adresate relativ la folderul /articole/ și produsele legate de /catalog/.

Conectați css și js folosind API-ul.Încă văd peste tot conexiunea de scripturi și stiluri folosind etichete html. Utilizați obiectul clasei \Bitrix\Main\Page\Asset și funcțiile addJs() și addCss(). Acest lucru vă va permite să combinați fișiere și, ulterior, să le memorați în cache cu un singur clic pe o casetă de selectare din setările modulului principal

Și, în sfârșit, eroarea se referă nu numai la Bitrix, dar am început să întâmpin prea des probleme asociate cu aceasta. Verificați matricea cu rezultatele eșantionului pentru golire. De exemplu, ultima dată când am întâlnit această problemă a fost când lucram cu un singur magazin online. Reclamație: Paginile durează uneori 16 secunde pentru a se încărca. Cu ce ​​este legat acest lucru nu este clar. Prin încercare și eroare, am aflat că paginile durează mult timp să se încarce numai atunci când coșul este gol. Părea de ce? După cum s-a dovedit, la trecerea cu mouse-ul peste cărucior, a apărut o fereastră pop-up, care afișa imagini cu mărfurile plasate în cărucior. Deci, ce a făcut dezvoltatorul anterior? Am luat rezultatul componentei „coș mic” și în fișierul result_modifier.php am numit GetList() de produse pentru a selecta imagini cu un filtru din matricea de ID-uri de produse, apoi din rezultatele selecției am adăugat src-ul imaginii la matricea produsului corespunzător. Ca urmare, atunci când nu existau produse în coș, filtrul a fost lăsat gol, iar în selecție a fost inclus TOTUL catalog de produse. Ei bine, atunci ciclul trece prin fiecare și... avem ce avem. Este clar că în stadiul de dezvoltare, cu 15 produse de testare, acest lucru nu a fost observat, iar problemele au apărut deja în condiții de luptă. Deși s-ar părea că ar merita să setați cecul la gol ($arResult[„ITEMS”)...

Aceasta încheie topul meu personal „cele mai proaste practici” în ceea ce privește dezvoltarea pe Bitrix. Dacă aceste informații ajută cel puțin pe cineva să evite greșelile în viitor și să-și îmbunătățească stilul de dezvoltare, atunci nu a fost în zadar.

Din când în când, studioul nostru se confruntă cu nevoia de a transfera conținut de pe o platformă pe alta. Când vorbim despre transfer de conținut, ne referim la transfer în masă, adică atunci când un site nou trebuie să plaseze o cantitate semnificativă de informații din vechiul site - sute, mii de știri, publicații, articole, fotografii, videoclipuri etc.

Ce este „gestionarea conținutului”? Acesta este momentul în care operatorul din panoul de administrare vede exact acele comenzi care ar trebui să fie utilizate pentru un anumit tip de informații, în timp ce operatorul efectuează un set minim de acțiuni pentru a atinge un anumit scop.

De exemplu, există instituții mari cu o rețea teritorială largă care publică în mod regulat știri. Atunci când creează sau editează astfel de știri, operatorul ar trebui să poată selecta un link similar către o sucursală teritorială dintr-o anumită listă derulantă, care nu numai că conține o listă a unor astfel de filiale, dar este și actualizată dacă apar filiale noi.

Bitrix, care primește în mod meritat recenzii negative regulate ca platformă de dezvoltare, este totuși destul de potrivit pentru a crea portaluri de informare. Panoul de administrare Bitrix este departe de a fi nelimitat în capacitățile sale și nu este întotdeauna perfect în ceea ce privește funcționalitatea disponibilă, dar majoritatea funcțiilor necesare pot fi implementate acolo cu diferite grade de acceptabilitate.

Și dacă totul este mai mult sau mai puțin clar cu capacitățile de organizare a informațiilor în ecosistemul Bitrix și capacitățile de gestionare a acestor informații, procesul de transfer prezintă întotdeauna anumite dificultăți. De fapt, aceasta este întotdeauna o sarcină individuală, de exemplu. transferul conținutului proiectului „A” la Bitrix și transferul conținutului proiectului „B” la Bitrix sunt de obicei două sarcini independente.

Cum se întâmplă ca o sarcină atât de tipică și repetabilă să devină foarte individuală? Este întotdeauna o chestiune de diferența dintre sursă și formatele necesare (în sensul larg al cuvântului). Gama de capabilități tehnice ale diferitelor CMS pentru stocarea și prezentarea conținutului identic este prea mare pentru ca acest lucru să fie rezolvat o dată pentru totdeauna. Mai jos vom încerca să acoperim pe scurt o serie de probleme cu care inevitabil trebuie să ne confruntăm la transferul de conținut de la un CMS la altul.

Text

Textul nu este doar text. Acesta este, de regulă, un marcaj HTML și adesea, de asemenea, în stil inline. Diferite CMS-uri folosesc editori de text diferite, astfel încât marcajul, pe lângă partea sa principală, poate conține date de serviciu în comentarii html. Este acest lucru semnificativ? Apropo de comentarii, acestea pot avea câteva sute de rânduri și pot fi de câteva ori mai mari decât volumul textului în sine. În consecință, veți vedea toată această frumusețe în editorul vizual Bitrix. Dacă vorbim despre textul în sine și stilizarea acestuia, unele stilizări pot fi considerate utile, iar unele pot fi considerate inacceptabile în raport cu abordarea generală utilizată pe noul site. Prin urmare, din păcate, nu poți să treci fără minte prin rutina obișnuită și să întrerupi totul, trebuie să o abordezi selectiv.

Pluginuri

O situație tipică este atunci când o parte a conținutului este gestionată folosind unele pluginuri pentru CMS. Textul poate conține unele, să spunem, expresii de control care sunt folosite pentru a afișa alt conținut în acest loc. La afișarea conținutului, codul CMS îl verifică mai întâi pentru prezența unor astfel de expresii și, dacă este necesar, lansează mecanisme terțe care înlocuiesc deja aceste expresii cu conținut nou. Ce înseamnă acest lucru în ceea ce privește migrarea datelor? Că nu mai poți doar să copiați și să lipiți text, pentru că... Bitrix nu știe nimic despre ce să facă cu astfel de expresii de control. În schimb, puteți fie să scăpați de ele pur și simplu, pierzând în mod natural partea corespunzătoare a conținutului, fie să pregătiți această parte a conținutului în așa fel încât nu numai că poate fi importată din punct de vedere tehnic în Bitrix, ci și să se potrivească exact cu structura acestuia. tip de date. Unul dintre cele mai izbitoare exemple ale acestei situații sunt galeriile foto din interiorul articolelor.

Poze

Imaginile, din punct de vedere al managementului de conținut, pot fi împărțite în 2 categorii mari - cele care fac parte din text și sunt afișate în fluxul de text ca parte a acestuia și imagini care sunt definite separat de text și de rezultatul care este specificat prin mecanisme auxiliare. Aceste categorii necesită metode diferite de procesare și abordări diferite în procesul de pregătire a importului de date în Bitrix.

De exemplu, una dintre situațiile tipice este că pur și simplu avem textul unui articol în formular html marcaje cu imagini inline. Este necesar să se genereze date pentru elementul de bloc de informații în așa fel încât prima imagine să devină o imagine detaliată, iar restul să rămână în fluxul de text. Sarcinile care apar în acest caz: este necesar să tăiați marcajul primei imagini, să formați o cale potrivită pentru primirea imaginii (http-uri sau calea în sistemul de fișiere), să formați calea corectă către imagine pentru import fișier, plasați imaginea pe această cale; pentru imaginile inline, trebuie să creăm legături pentru a obține imaginile, să plasăm imaginile acolo unde intenționăm să le stocăm permanent și să înlocuim căile originale din text cu altele noi.

URL-uri semantice

Utilizarea URL-ului CNC pentru adresare este mult timp regula generala decât unele funcționalități speciale pentru site. Din păcate, momentan Bitrix nu acceptă crearea automată a unor astfel de coduri în timpul importului (cel puțin, nu am reușit să realizăm acest lucru), dar acest lucru poate fi ocolit folosind module terțe pentru a le genera după importul datelor. Cu toate acestea, acest lucru nu este foarte convenabil din punctul de vedere al organizării procesului de import în masă și, în plus, este foarte posibil ca generarea să se facă cu „setări fine”, pentru care aceste module terțe, de desigur, nu sunt proiectate (aceasta poate fi, de asemenea, generare bazată pe o anumită bucată de conținut și comanda speciala contabilizarea duplicatelor). Prin urmare, este mai profitabil să faceți acest lucru în etapa de pregătire a datelor.

Proprietăți specializate ale blocurilor de informații

Panoul de administrare Bitrix acceptă crearea de proprietăți suplimentare și personalizate ale blocurilor de informații care ajută la gestionarea datelor în cel mai adecvat mod, aceasta poate și ar trebui să fie utilizată în mod activ. Adică, dacă o publicație oferă o galerie foto ca unul dintre elementele acestei publicații, este rezonabil să creați o proprietate multiplă separată și să importați imaginile necesare în ea. Sau creați un bloc de informații „galerie” separat și faceți referire la el în articol (mai precis, la elementul dorit). Cu toate acestea, din punct de vedere tehnic, formarea structurii corecte în fișierul de import pentru astfel de proprietăți nu este întotdeauna o procedură „intuitivă” sau prietenoasă pentru dezvoltatori.

Cum se importă?

Bitrix acceptă mai multe moduri de a importa date. Prin API-ul software și prin 2 tipuri de formate de fișiere - csv sau xml. Toate aceste metode au avantajele și dezavantajele lor. Deci, pe de o parte, importul prin API pare a fi cea mai naturală soluție - adică scriem direct și atât. Cu toate acestea, de facto, aceasta nu este cea mai bună soluție din diferite puncte de vedere. În primul rând, cu un volum mare de date, va exista probabil mai mult de o încercare de import, deoarece vor fi descoperite tot mai multe cazuri noi care nu au fost vizibile la prima vedere. Fiecare astfel de încercare de import va dura o perioadă semnificativă de timp (ați încercat să importați un xml mare cu câteva mii de elemente?). Pentru a verifica rezultatele importului, va trebui să călătoriți la diferite elemente de fiecare dată în panoul de administrare și să examinați valorile diferitelor proprietăți și câmpuri ale acestora. Când vine vorba de verificare, interfața grafică este întotdeauna mai mult o piedică decât un ajutor.

Pentru importul în masă, este mai potrivit să generați rezultatele sub forma unui fișier finit (xml este de preferat, deoarece importul csv este extrem de limitat în capacități). În primul rând, acest rezultat poate fi obținut pe orice mașină local, nu pe serverul pe care este implementat site-ul. În al doilea rând, rezultatul conversiei datelor (care este fișierul de import generat) poate fi analizat pentru adecvare prin orice mijloace adecvate - de la verificări regulate banale până la validare folosind schema xsd. În plus, această metodă vă permite să pregătiți complet un pachet care este complet gata pentru import (adică nu numai fișierul de import în sine, ci și toate celelalte fișiere însoțitoare), dar faceți acest lucru în etape, pe măsură ce rezolvați problemele inițiale și cele care apar în proces.

Ce să fac?

Pentru a rezolva problemele descrise în acest articol, studioul a creat un set de instrumente intern care vă permite să transferați rapid și cu atenție datele de pe vechiul site pe cel nou, evitând în același timp pierderea de informații, timp, bani și celule nervoase. Totuși, tot conținutul istoric va fi gestionat exact așa cum este prevăzut pe noul site.

În articolul următor vom vorbi despre detaliile tehnice...

Dacă trebuie să implementați un proiect, puteți să creați un grup, să invitați numai acei angajați care au legătură cu acest proiect, să le atribuiți sarcini și să încărcați fișierele necesare. Grupurile ajută la gruparea tuturor datelor, sarcinilor, fișierelor, mesajelor, întâlnirilor într-un singur loc. Puteți vedea oricând ce acțiuni și ce sarcini au fost finalizate într-un anumit grup.

Bitrix24 are grupuri și proiecte. Principala diferență dintre un grup și un proiect este că într-un proiect puteți stabili termenele limită pentru implementarea proiectului, termenele limită pentru sarcinile dintr-un proiect nu pot depăși termenele limită ale proiectului;

Prin urmare, dacă aveți nevoie de termene limită specifice în proiect, atunci când creați un grup puteți selecta tipul de grup - Proiect. Dacă termenele limită nu sunt importante, atunci acesta poate fi un grup de lucru obișnuit.

Puteți citi mai multe despre crearea unui grup sau proiect.

2. Cine poate crea grupuri și proiecte?

Fiecare angajat poate crea un grup sau un proiect și poate invita participanți la acesta. Numărul de grupuri și proiecte în Bitrix24 este nelimitat la toate tarifele.

3. Cum pot vedea toate grupurile (proiectele) care sunt pe portal?

Toate grupurile de pe portal pot fi vizualizate de un angajat cu drepturi de administrator. Pentru asta ai nevoie.

4. Cum se arhivează un grup (proiect)?

Pentru a face acest lucru, în fila grupuri Bazele selectați meniul Acțiuniși există un punct în el Editați grupul (proiectul). În fereastra care se deschide, marcați Tip de grup (proiect): Arhivă.

Grupurile și proiectele arhivate nu apar în lista generală de grupuri. Le puteți găsi prin filtru De arhivă sau folosind o interogare de căutare.

Puteți întoarce grupul de arhivă (proiectul) să funcționeze într-un mod similar - debifați tipul de grup De arhivă.

5. Cum să ștergeți un grup?

Pentru a șterge un grup, selectați din fila grupuri Bazele element de meniu Acțiuni > Ștergeți grupul:

După ce faceți clic, se va deschide un formular de confirmare a ștergerii grupului.

Dacă există sarcini atașate unui grup (proiect), mai întâi trebuie să anulați fixarea sau să ștergeți sarcinile, apoi puteți șterge grupul (proiectul) în sine.

6. Cum se șterge un grup (proiect) care aparține unui angajat concediat?

Administratorul portalului poate șterge un astfel de grup. Pentru a face acest lucru aveți nevoie de pe pagină Pagina meași mai departe în meniu Acțiuni selectați elementul Șterge grupul:

Dacă grupul sau proiectul este încă necesar, puteți pur și simplu să schimbați proprietarul grupului (managerul de proiect) prin meniu Acțiuni: fie în Editarea unui grup (proiect), sau în Editarea compoziției.

7. Este posibil să interziceți membrilor unui grup (proiect) să se vadă?

Dacă trebuie să împărțiți vizibilitatea angajaților în mod specific în grupuri, există o funcție Extranet (utilizatori externi), care este disponibil pe planurile tarifare comerciale Bitrix24. Acest instrument vă permite să lucrați cu angajați externi, să îi invitați în grupuri (proiecte) și să desfășurați toată munca în cadrul grupului. În acest caz, angajații interni și externi se vor vedea doar dacă sunt membri ai aceluiași grup extranet (proiect).

Mai mult, dacă aveți mai multe grupuri extranet (proiecte), atunci participanții nu se văd.

8. Cum se invită un utilizator extranet la un grup (proiect)?

Utilizatorii pot fi invitați direct la creare grup de lucru(proiect), deci în orice moment după crearea unui grup de lucru (proiect) pe filă Bazele pagini ale unui grup sau proiect existent (meniu Acțiuni > Invitați la grup).



Pe parcursul întregii mele lucrări cu Bitrix, am avut ocazia să lucrez cu un număr foarte mare de proiecte pe care cineva le-a dezvoltat înaintea mea. Există, de asemenea, îmbunătățiri minore, remedieri pentru diverse erori și erori logice, reproiectarea site-ului web și modificări globale ale funcționalității existente. Și, ca orice alt dezvoltator, urăsc să trec prin gunoiul altor oameni, cârje și petice „temporare” care amintesc de fapt de cea de-a 8-a ediție a produsului.

Aici voi încerca să nu mă concentrez pe „cele mai proaste practici” standard atunci când programez în PHP, cum ar fi nerespectarea alegerii numelor de variabile și funcții, interogări inutile la baza de date într-o buclă, lipsa verificării datelor utilizatorului în formulare, ignorarea comentariilor , și altele asemenea. Voi încerca să ating punctele inerente dezvoltării pe Bitrix, care ulterior vă vor permite să evitați indignarea și blestemele îndreptate asupra dvs. din partea programatorului care s-a întâmplat să vă întrețină codul. Și da, de multe ori tu însuți vei fi acest programator într-un an sau mai mult, când ai uitat complet de ce ai introdus cutare sau cutare cârjă aici.

„Scrie codul ca și cum ar fi însoțit de un psihopat violent care știe unde locuiești.” John F. Woods
În primul rând și, după părerea mea, cel mai important - pentru numele lui Dumnezeu, utilizați folderul local. Acest lucru este pur și simplu vital atunci când utilizați un sistem de control al versiunilor - tot ce aveți nevoie este să adăugați folderul /bitrix/ la excepții. Toate. În plus, aproape toată dezvoltarea se realizează numai în ea. Acest lucru simplifică semnificativ căutarea fișierelor și componentelor necesare mai târziu, ajută la a nu aglomera depozitul cu fișiere inutile și, în general, aduce arborele proiectului într-un aspect mai ordonat, „uman”.

Nu modificați nucleul. Chiar dacă ești sigur că nu va fi actualizat. Chiar dacă este mai rapid. Chiar dacă ești leneș. Uită acest gând ca pe un vis urât. Dacă trebuie să modificați logica de operare a unei componente standard, mutați-o în noul spațiu de nume /local/components/modify/ și lucrați cu ea. Același lucru este valabil și pentru module, gadget-uri și activități ale proceselor de afaceri.

Nu aruncați fișierul init.php. Combinați funcțiile pentru a lucra cu un anumit modul sau funcționalitate într-o clasă, scrieți această clasă întreagă într-un fișier separat și în init.php conectați pur și simplu aceste fișiere și scrieți handlere de evenimente. Am întâlnit fișiere init.php de 500Kb, în ​​care funcțiile, definirea constantelor, clasele și inițializarea handlerelor au fost amestecate într-o mizerie. Desigur, când a trebuit să triez aceste fișiere, mi-am înjurat predecesorii.

Următorul punct nu se aplică în cazul dezvoltării de soluții gata făcute pentru Piață, când scopul este de a realiza cea mai personalizabilă funcționalitate din partea publică pentru utilizatorul final. Dacă lucrați la un anumit proiect, conform unei specificații tehnice specifice - nu ar trebui să încercați să faceți un șablon unificat pentru o componentă pentru toate ocaziile. Personal, aderă la filozofie - este mai bine să aveți mai multe șabloane simple folosite în scopuri diferite decât unul universal, dar în care diavolul însuși își va rupe piciorul mai târziu. Desigur, în fiecare caz specific trebuie să începeți de la ceea ce este disponibil - specificații tehnice, opțiuni de implementare și altele asemenea, dar tot nu ar trebui să uitați de Occam’s Razor. Ca exemplu, voi da un proiect al unei companii de leasing pe care am avut ocazia să o gestionez. Proiectul în sine, desigur, a fost implementat îngrozitor, adevărata groază a fost în paginile secțiunii de catalog de servicii. Fiecare dintre cele cinci secțiuni avea propriul aspect, care diferea atât prin poziția blocurilor pe pagină, cât și, în principiu, prin prezența unora dintre ele. Și pentru toate cele cinci pagini, un șablon a fost folosit cu o grămadă de apeluri if-else, duplicarea apelurilor componente, stiluri de conectare și scripturi, care, în plus, intrau periodic în conflict unul cu celălalt. Drept urmare, un dosar imens, care a fost ca moartea să înțelegem „fără jumătate de litru”. Deși, s-ar părea, ce te-a împiedicat să faci 5 șabloane diferite și să nu creezi dificultăți din senin?

Utilizați API-ul. Nu reinventați roțile acolo unde nu este nevoie. Utilizați documentația - întregul produs este destul de bine descris și puteți vedea, de asemenea, fiecare funcție în detaliu pe bxapi.ru.

Evitați interogările directe către baza de date. Acesta este un caz special al punctului anterior - utilizați API-ul. Solicitările imprudente și neprotejate pot duce la deteriorarea, pierderea sau chiar compromisul datelor.

Nu utilizați componente CNC de la rădăcina site-ului. Consecințele sunt de obicei destul de triste, deoarece CNC folosește un fișier de gestionare a adresei, încercând să-l folosească de la rădăcină, rupe cu ușurință adresarea altor componente, precum și 404 pagini; Nu va fi nimic în neregulă dacă articolele dvs. sunt adresate relativ la folderul /articole/ și produsele legate de /catalog/.

Conectați css și js folosind API-ul.Încă văd peste tot conexiunea de scripturi și stiluri folosind etichete html. Utilizați obiectul clasei \Bitrix\Main\Page\Asset și funcțiile addJs() și addCss(). Acest lucru vă va permite să combinați fișiere și, ulterior, să le memorați în cache cu un singur clic pe o casetă de selectare din setările modulului principal

Și, în sfârșit, eroarea se referă nu numai la Bitrix, dar am început să întâmpin prea des probleme asociate cu aceasta. Verificați matricea cu rezultatele eșantionului pentru golire. De exemplu, ultima dată când am întâlnit această problemă a fost când lucram cu un singur magazin online. Reclamație: Paginile durează uneori 16 secunde pentru a se încărca. Cu ce ​​este legat acest lucru nu este clar. Prin încercare și eroare, am aflat că paginile durează mult timp să se încarce numai atunci când coșul este gol. Părea de ce? După cum s-a dovedit, la trecerea cu mouse-ul peste cărucior, a apărut o fereastră pop-up, care afișa imagini cu mărfurile plasate în cărucior. Deci, ce a făcut dezvoltatorul anterior? Am luat rezultatul componentei „coș mic” și în fișierul result_modifier.php am numit GetList() de produse pentru a selecta imagini cu un filtru din matricea de ID-uri de produse, apoi din rezultatele selecției am adăugat src-ul imaginii la matricea produsului corespunzător. Ca urmare, atunci când nu existau produse în coș, filtrul a fost lăsat gol, iar în selecție a fost inclus TOTUL catalog de produse. Ei bine, atunci ciclul trece prin fiecare și... avem ce avem. Este clar că în stadiul de dezvoltare, cu 15 produse de testare, acest lucru nu a fost observat, iar problemele au apărut deja în condiții de luptă. Deși, s-ar părea că ar merita să verificați dacă este gol ($arResult[‘ITEMS’])…

Aceasta încheie topul meu personal „cele mai proaste practici” în ceea ce privește dezvoltarea pe Bitrix. Dacă aceste informații ajută cel puțin pe cineva să evite greșelile în viitor și să-și îmbunătățească stilul de dezvoltare, atunci nu a fost în zadar.

Puteți ajuta și transfera niște fonduri pentru dezvoltarea site-ului

Există destul de multe avantaje în această cooperare, dintre care principalele le-am descris în acest articol.

Aflux de clienți

1C-Bitrix este o companie mare și cunoscută, zeci de mii de site-uri sunt gestionate de cms Bitrix, ceea ce înseamnă că în fiecare zi există multe comenzi pentru crearea de site-uri, pentru transfer și, bineînțeles, pentru îmbunătățirea funcționalității . De regulă, clientul mediu nu este deloc orientat în sfera Internetului și are nevoie doar de un site web (sau cel puțin așa crede), și nu știe la cine să apeleze. Destul de repede, merge pe site-ul Bitrix (acest cuvânt este cel puțin cunoscut) și încearcă să-i contacteze, în ciuda faptului că același site spune că această companie nu dezvoltă site-uri web, dar s-a decis să colecteze aceste aplicații împreună. și transmite-le partenerilor tăi. Și știm cu toții că una dintre cele mai mari probleme în afaceri este doar găsirea clienților, așa că programul de afiliere de aici ajută foarte mult în găsirea comenzilor.

Apropo, dacă locuiți la Moscova, puteți, în general, să vă plasați angajatul în biroul Bitrix și el va primi cereri telefonice, astfel vei primi clienti si mai pregatiti.

Întrucât unul dintre primele cuvinte de pe web pe care un potențial client le recunoaște este „aspect”, „Bitrix”, „domeniu”, „seo”, a avea site-uri Bitrix în portofoliu este un avantaj foarte mare. Asemenea va fi un mare plus pentru credibilitatea tași orice altă legătură cu compania 1C-Bitrix, de exemplu: disponibilitatea certificatelor, statutul de partener, informații despre compania dumneavoastră direct pe site-ul Bitrix. Și nici lipsa proiectelor pe alte motoare nu va fi un minus, de multe ori chiar și la angajare, adică la comunicarea cu oameni care ar trebui să înțeleagă ceva în acest domeniu.

Piața

La fel ca multe alte sisteme mari din domeniul IT, Bitrix are propriul magazin de soluții cu acces deschis pentru dezvoltatori terți și capacitatea de a-și monetiza produsele și asta la urma urmei. venit pasiv din dezvoltare. Din cauza unor astfel de lucruri, programatorii cred că stau pe o mină de aur.

Dar numai partenerii pot posta soluții plătite. Deoarece multe site-uri sunt de fapt controlate de acest cms, vânzările în acest magazin sunt foarte active. Deci, de fapt, doar acest punct te poate motiva să semnezi un acord de parteneriat, cel puțin asta mi s-a întâmplat.

Reduceri la licente

Cel mai mare dezavantaj al Bitrix cms sunt prețurile. Nu este deloc gratuit, de exemplu, ediția minimă pentru un magazin online la începutul anului 2015 costă 27.900 de ruble, dar reducerea minimă a afiliaților pentru aceasta este de 11.160 de ruble, ceea ce este semnificativ. Și astfel, pentru fiecare ediție, mi se pare că acesta este un alt motiv semnificativ pentru a ne împrieteni.

Licență gratuită (licență NFR)

Există o altă modalitate prin care un partener poate economisi pe o licență. Există câteva moduri de a-l obține pentru nevoile dvs copie absolut gratuită a managementului site-ului a oricărei ediții. Acest site lucrează, de exemplu, pe el, pe redacția Expert. Vă voi povesti mai detaliat despre modalitățile de obținere a licenței NFR.

Bitrix24

Acesta este un web crm de la 1C-Bitrix, gratuit pentru parteneri. Sincer să fiu, nu l-am apreciat, deoarece lucrez singur și analogii de pe mobil mă mulțumesc complet, dar clienții mei și oamenii pur și simplu cunoscători l-au lăudat foarte mult. Pentru orice companie sau echipă de freelanceri, cred că acesta este un bun ajutor în afaceri.

Suport tehnic accelerat pentru Bitrix

Suportul tehnic este unul dintre carti de vizita 1c-Bitrix, dacă problema nu poate fi rezolvată pe cont propriu sau cu ajutorul documentației sau forumurilor, atunci puteți contacta asistența tehnică. sprijin și cu siguranță se va rezolva. Dar ea răspunde pentru totdeauna (zile), dar cu ajutorul parteneriatului acest timp poate fi redus la câteva ore.

Să rezumam pe scurt

Când colaborați cu Bitrix, obțineți următoarele avantaje:

  • Autoritate în ochii celorlalți
  • Reduceri la licente
  • Oportunitatea de a câștiga bani în Marketplace
  • Licență nfr gratuită
  • Acces gratuit la Bitrix24
  • Tehnologie accelerată. sprijin
  • Aplicații pentru dezvoltare
  • Și invitații la un număr mare de seminarii, conferințe și webinarii

Dacă sunteți interesat, sau doriți doar să aflați dacă jocul merită lumânarea, citiți acest capitol, care vă spune exact cum să încheiați un acord de parteneriat.