Jump to content

bernhard

Members
  • Posts

    6,662
  • Joined

  • Last visited

  • Days Won

    366

Everything posted by bernhard

  1. Hey @herr rilke that exception means that the variable is not defined. That's typically the case when you are using less files that contain uikit variables (like @global-secondary-background) but the uikit base files are not loaded. From what you write I'd try to check whether it is related to permissions or to caching. So you could try to activate only one at a time and check when it breaks. Then we know a little bit more.
  2. Hey @herr rilke sorry for that. I pushed to DEV and not to MAIN! It's now online @ https://www.baumrock.com/en/releases/rockpagebuilder/
  3. https://processwire.com/api/ref/sanitizer/entities-markdown/
  4. Not at once, but in 3 rounds, first by = then ? then : But I guess you are hitting 80 chars limit anyhow, so maybe something like this would be better?
  5. I guess it would be easy to support Twig as well, but if you want to try Latte that's the safest bet for sure, as that's the combo I'm using everyday. For the basics this page is all you need: https://latte.nette.org/en/tags Thx ?
  6. Hey @Spinbox, thx that makes sense ? Could you please try the latest commit of the dev branch? You can now hook into RockFrontend::loadTwig
  7. Hi. The render() method is already hookable and that one will be called before renderFileTwig(). Would that work? Could you please be more precise with your request? I'm happy to add whatever anyone needs, but I need to understand exactly why things are requested to ensure we don't add anything we don't want to. So could you please explain what the problem is currently and what exactly has to be done to solve it. Maybe provide a specific use case for me to better understand. And maybe provide a PR for it. Input from anybody else using Twig is welcome.
  8. This is fixed in v5.5.3 and will be available to download in a few minutes, thx!
  9. Just because I had this example right now I thought it's a nice real world example why I really like the UIkit + Tailwind combo! I'm building this UI for a webshop where you can choose the taxrate: First I tried to use a <select> but I wanted to show more info in the dropdown and less in the spot where the arrow points to, so I went with a UIkit Drop. Such a dropdown sounds easy to build with some alpine magic at first, but doing it right is quite some effort! For example you have to think about accessibility and add support for keyboard navigation. UIkit has you covered. Another nice thing to mention is that the dropdown shows taxrates first and then the description on the right. This was extremely easy thx to tailwind: <span class='w-8 inline-block'> {$taxrate->taxrate()}% </span> {$taxrate->title} So all I had to do was to make the element inline-block and add a dedicated with (here w-8). That leads to a better table-like rendering ? And finally, UIkit power again: Consider the taxrate element has been hovered/clicked on mobile being at the very bottom of the page. There is not enough room for the dropdown, so UIkit will display it on top of the element automatically ? I wouldn't want to implement that on my own with only TailwindCSS + AlpineJS. Both tools are great, but I also find it great to have proven components from UIkit that I can use and adjust to my needs very quickly. PS: Here is the final snippet that combines all the great tools Latte + UIkit + TailwindCSS and is fully reactive thx to AlpineJS ? <div class='text-xs'> Preis <div class="uk-inline" {$rockcommerce->taxselect->attrs()|noescape} > <span class='cursor-pointer underline'> inkl. <span x-text='taxrate'></span>% MwSt. </span> <div class='uk-card uk-card-default uk-width-auto p-3' uk-drop='offset:10'> <div n:foreach='$rockcommerce->taxrates() as $taxrate' class='uk-text-nowrap' data-text='inkl. {$taxrate->taxrate()}% MwSt.' > <label> <input class="uk-radio mr-1" type="radio" name="taxrate" value="{$taxrate->taxrate()}" x-model='taxrate' > <span class='w-8 inline-block'> {$taxrate->taxrate()}% </span> {$taxrate->title} </label> </div> </div> </div> zzgl. Versandkosten. <br> Verfügbarkeit: Auf Anfrage. </div> Oh... There's another element with some TailwindCSS magic: span with class cursor-pointer underline that makes it look like a link so that the user knows he/she can interact with it.
  10. Please check v5.5.2 which I uploaded yesterday, just forgot to post here, sorry! https://www.baumrock.com/en/releases/rockpagebuilder/ Also check out the example with notes about usage here: https://www.baumrock.com/en/processwire/modules/rockpagebuilder/docs/settings/#rockfields And please mark the topic [solved] thx ?
  11. I'm not sure if we are talking about frontend editing here? For me the issue with the TinyMCE toolbar being wrapped is also on the backend, but only if I have the browser zoomed to > 100%
  12. @herr rilke sorry that was too fast ? I'm working on saving values and also an api to check values... I'll keep you updated!
  13. Yes! Yes. All the great things that UIkit has to offer: Accordions, Tooltips, Alerts, Offcanvas, Dropdowns etc etc Some parts do unfortunately, but only very, very little, because the profile only uses the @base directives from Tailwind and obviously also the @utilities (for all the great utility classes). @Stefanowitsch found out that we can even turn off preflight in the base component an we tried that on a recent project - he might have some more information on that topic. I'm not sure what you mean here, but you can do whatever you want or prefer. I'm using UIkit components and then add Tailwind for all the individual changes that I need, that are not global. So if I wanted to change the global font-size I'd adjust the UIkit LESS/SCSS variable. If I wanted to change the global "margin-top": Same. But for all the small little changes that would prior go into custom .less files I just add tailwind utility classes. Think of it as UIkit on Steroids ?
  14. Hey @herr rilke thx for your question! There has always been the 'checkboxes' (plural) input type for this. In my IDE I can just click on the "->input(...)" and it will take me directly to the file RockFieldsField.php and there (inside the input method) you'll see all available options. I've added the option "checkboxes-inline" and changed the wording for radios to "radios" and "radios-inline" accordingly ? Please check v5.5.1
  15. Hey @herr rilke any chance your browser is scaled to more than 100% ?
  16. All RPB users please make sure that you remove this line from your Accordion.php block (if you are using it). It will be removed in the installation files on the next version, but if you copied that file you need to remove it manually:
  17. I'm not sure if my solution would really work. Maybe there'd be some surprises with that approach as well ? But I know that working with the offcanvas component can be a pain: https://github.com/baumrock/RockFrontend/blob/main/uikit/offcanvas.less Good luck ?
  18. I'd make the offcanvas white bg + black text and for the second offcanvas i'd use tailwind bg-black + text-white.
  19. What I always do is to write those scripts in an object oriented way right from the beginning. That's as easy as adding one method to the Site.module.php Then I add $site->doSomething() to ready.php and RockFrontend will live reload the page as soon as I update Site.module.php and I'll see all the dumps in Tracy. No need to switch screens. No need to switch windows. No need to use the mouse. Just write code, save, see the dumps. And once everything works, everything is just an api call away! And, of course, it's under GIT. $site->party() ? PS: And if you happen to need that for a cron or similar: <?php include "index.php"; $site->party();
  20. Spoiler: I didn't switch to linux. I hope it's ok to share my journey as I found it very interesting to read others'. Would be interesting to hear those!
  21. Thx, my only concern is that this element gets very very very long for 24 logos like in the example, which is a real world example...
  22. I'm working on a website for a local municipal and they have a section showing logos of partners: Now the designer and I were wondering: How would we present that on mobile? Logos one by one in a slider? Logos 2x2 in a slider? Just a list of logos to scroll? Or maybe a div with max-height that fades out to white at the bottom and shows a button "show all"?
  23. I can't remember exactly but Ryan mentioned some time ago that in some situations it's not enough to set the template as string. ProcessWire usually converts that into a template object, but in the wrong context this does not work. When calling the method statically this seems to be the case. So just like wire()->pages->get() works for the parent you can also use wire()->templates->get(...) for the template instead of a plain template name. When using a function call like @Jonathan Lahijani does in the issue the context is different again and makes the code work.
  24. Thx! I knew this must be possible. I think I even saw this problem recently, but forgot ? .modal-buttons { display: flex; flex-wrap: wrap; gap: 5px 1rem; > button { flex: 1; min-width: fit-content; } } Solved that one as well! Im using an absolutely positioned (left-0 bottom-0 right-0) wrapper inside the button. There I use flex + flex-wrap so that elements stack on top of each other if there is not enough space. And then I use overflow-hidden on the button to hide overflowing words ?
  25. Any news on this? Just curious ?
×
×
  • Create New...