pixelgrade / customify

Intuitive Website Styling integrated into WordPress' Customizer
GNU General Public License v2.0
28 stars 5 forks source link

[Style Manager] External Theme Config System For Free Themes #106

Closed georgeolaru closed 6 years ago

georgeolaru commented 6 years ago

Fiindca vrem sa confirmam logica celor trei sectiuni din paleta de culori, provocarea ar fi sa o facem chiar pe o tema gratuita → as merge pe Twenty Sixteen care macar are o culoare.

@vladolaru cum zici sa procedam? E vreo sansa sa avem fisierul de customizare direct in Customify undeva gen /themes/twentysixteen.php sau mai bine sa o facem intai direct in tema?

georgeolaru commented 6 years ago

@vladolaru am dat un push aici. Mi-a luat cam 3 ore sa fac config-ul si merge destul de misto 🤩

Video → https://cl.ly/3p272F352W2R

Ca sa fie complet (dpdv al config-ului) ar mai fi nevoie de acele callback-uri pe valori care sa inchida/deschida niste culori → https://github.com/woocommerce/storefront/blob/master/inc/storefront-functions.php#L146

Apoi sa gasim o solutie sa-l integram remote, in afara temei, eventual daca putem scoate optiunile default.

vladolaru commented 6 years ago

@pixelgrade/everybody Am facut urmatorul sistem pentru lucrul cu configurarea externa pentru teme:

Pixelgrade Cloud

Pe Cloud exista un nou post type (Theme Configs) unde poate fi adaugat JSON-ul cu configurarea care trebuie livrata si aplicata unei teme, precum si cateva configuratii pentru identificarea temei careia sa ii fie aplicata.

JSON-ul poate contine orice din configurarea Customify, insa recomand sa contina doar lucrurile care trebuie adaugate sau suprascrise. De exemplu pentru Style Manager sa contina doar connected fields pentru master colors.

Este obligatoriu sa fie prezent in configuratie nodul sections. Pe langa sections mai pot fi specificate urmatoarele noduri pentru a da "instructiuni" catre Customify:

Customify

Customify va aplica un theme config unei teme daca tema activa face match la conditiile configurate pe Cloud si daca cineva inainte nu a declarat support pentru style manager.

Pentru lucrul in development cu o varianta PHP a configurarii am facut urmatorul flow:

Nu trebuie folosite in fisierul customify_theme_root.php filtre precum customify_filter_fields pentru ca pot da peste cap lucrurile. Configuratia rezultata in variabila $config va fi automat aplicata prin acele filtre.

Cititi va rog comentariile din fisierul customify_theme_root.php.


Daca aveti intrebari, va stau la dispozitie.

georgeolaru commented 6 years ago

@vladolaru Lovely! O sa revin cu intrebari cand o sa fac urmatorul config de tema. 👏

vladolaru commented 6 years ago

Great @georgeolaru Vezi ca am facut merge in dev deci poti renunta la branchul 106-

vladolaru commented 6 years ago

O sa inchid aici.