Giter Club home page Giter Club logo

Comments (6)

wbloszyk avatar wbloszyk commented on September 22, 2024 6

Hi, any news on this?

Hi @matik955. For do it in the best way for all sonata bundles (and my own projects) i had to check all of them. SonataAdminBundle have own template_registry system, SonataPageBundle haven't. Also using SonataAdminBundle to generate template system for own project is bad idea. So the best option will be move it to twig-components or create new bundle.

SonataAdminBundle have also some bad solutions for that. like copy template_registry which should be extended istead:

https://github.com/sonata-project/SonataAdminBundle/blob/5.x/src/DependencyInjection/Compiler/AddDependencyCallsCompilerPass.php#L505-L517

To sum up, I am starting work on a new, independent template system that will enable defining a list of templates, their options and allowing them to be extended. After that we can add it to SonatAdminBundle 4.x as secondary template system. I should finish it this month, but I'm working after hours, so it's better to assume by the end of the year.

from sonataadminbundle.

core23 avatar core23 commented on September 22, 2024

Not sure if I understand your idea correctly, but what about making the admin bundle extendable?

For example the SonataAdminBundle only provides a basic theme (e.g. latest bootstrap version). And if you want to use some other theme like AdminLTE2 you could use something like SonataAdminLTE2Theme. The basic theme should also not contain any options.

I know this would mean an other more library to maintain but that might solve some issues and reduces the overall project artifact size.

I'm also not sure how to provide features that require code on the template side, like options you pass from the PHP component to the template to change some theme specific code like this:

'box_class' => 'box box-primary',
'empty_message' => 'message_form_group_empty',
'empty_message_translation_domain' => 'SonataAdminBundle',

from sonataadminbundle.

wbloszyk avatar wbloszyk commented on September 22, 2024

Think about sonata.admin.global_template_registry as a sonata.admin.adminlte2_template_registry. From tamplate pool you can take any added template (adminLte2, adminLte3, bootstrap4, bootstrap5 ...) as sonata.admin.global_template_registry alias. It means you can deprecate adminLTE2 in favor of other template in next major release.

Now template options (or templates config). We can check them by validating when adding template registry to pool. In this case we can force templates creator to add options like box_class to them templates. Also they will be able to add extra config depends of them template.

from sonataadminbundle.

matik955 avatar matik955 commented on September 22, 2024

Hi, any news on this?

from sonataadminbundle.

toooni avatar toooni commented on September 22, 2024

HI @wbloszyk
Any news here? I am at a point where I'd like to write our own templates (if possible by using tailwind). Since these changes would affect these plans, I wanted to know if a financial incentive would help. We would be interested in paying you for your time on this feature. If you are interested, what is the ETA and the cost for this implementation?

from sonataadminbundle.

wbloszyk avatar wbloszyk commented on September 22, 2024

Hi @toooni
I suspended contributing some time ago, becouse I open my own company and now I focus on two big project. Back to this issue, I should have some PR and notes. I can check it. Of course a financial incentive will be greate reason to finnaly done this but mybe even better will be help with new frontend. Please send me email with contact (whatsapp will be greate). IMO better will be talk about it.

from sonataadminbundle.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.