Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 10/08/2024 in Posts

  1. Hey all! I've been creating new block/widget buttons for the current project I'm working on and wanted to share them in case they may be useful to others. They're SVGs intended to complement the style of buttons that come with RockPageBuilder. This post has been updated with a link to a Github repository containing all of the buttons currently available. New buttons have been added. Existing buttons have have been tweaked for quality and consistency. Download from or fork the Builder Buttons Github repository Rather than keep this post up to date with every button that is added, visit the Github repo to see the most current example and download/clone buttons for use in your projects. Buttons include: Accordion Announcement Articles Audio Bios Call To Action Card Over Image Code/Embed Events Image Image Carousel Image Mosaic Image Roll List Lists Products Reviews Video Weather Preview (not in order of list) If you find them useful, let me know what you think!
    3 points
  2. Hi! 'columnWidth' should do that. You can look up these here.
    3 points
  3. @ngrmm Hey there, Fluency author here. I submitted a PR that makes ProcessTranslatePage compatible with the new major release of Fluency. It hasn't been merged yet, but you should have success using this module with these changes. https://github.com/robertweiss/ProcessTranslatePage/pull/10
    2 points
  4. @Ivan Gretsky Thanks, that works! I came across the columnWidth attribute at some point but then lost where I had seen it. @bernhard Thanks for the link. For commercial sites I'd probably install that - however this is my "learn how to build a module" module πŸ˜€
    2 points
  5. That video made me want to look more into that ProcessWire CMS he was talking about. Sounds great. 😬
    2 points
  6. File Mover Allows the selection of files or images for moving or copying to a different field. The destination field can be on the same page as the source field or on a different page. Screencast For convenience in the screencast this demonstration shows moving and copying images and files between fields on the same page, but you can also move/copy between pages by following the same process. Usage In any Images or Files field, hover on the field label to show the File Mover icon. Clicking on the icon will reveal the File Mover buttons. If no items are yet selected you'll see a button labelled "Select items to later move or copy". Click the button to enter selection mode. While in selection mode, click one or more images/files to select them. When you have finished selecting items click the "Done" button. Note: you can only select from one Images and one Files field at a time before completing the move/copy step. In the Images or Files field that you want to move/copy the items to, hover the label to show the File Mover icon and click it to reveal the File Mover buttons. When you click the Move or Copy button the page will automatically be saved and the selected items will be moved or copied accordingly. There is also a button to clear the current selection if needed. If you hover on any of the buttons a tooltip shows the filenames of the currently selected items, in case you need a reminder. Configuration There is a field in the module config that defines which roles are allowed to use the File Mover module. If the field is left empty then all roles are allowed. https://github.com/Toutouwai/FileMover https://processwire.com/modules/file-mover/
    1 point
  7. @bernhard I think you wake up every day and put on a cape before sitting down at your computer because you're a ProcessWire hero 🫑
    1 point
  8. thanks, I've done that and have installed Duplicator
    1 point
  9. Hey @FireWire could you please try the latest commit of the dev branch, that should make wire() etc available in all latte files 😎
    1 point
  10. 1 point
  11. Sounds like a nice module πŸ™‚ Just a FYI there is also https://processwire.com/store/pro-dev-tools/wire-request-blocker/ which blocks unwanted requests efficiently via .htaccess πŸ™‚
    1 point
  12. ProcessWire is mentioned in at least the first 6 minutes. I had already stumbled upon this video before but hadn't really watched it. Part of the video description: "Benjamin Milde takes some of his favourite CMS’ – ProcessWire – underlying implementations for data querying and storage layout and reimagine those using ecto."
    1 point
  13. Hi @adrian (and @Robin S if interested). I have forked your module and added a config field to use names/paths rather than ids. Fork is here: https://github.com/MetaTunes/ModuleSettingsImportExport, if you would like to have a look/play. I have tested it with some modules (but not all) and you can easily see the results in the multiple module settings box. Note that it deliberately gives some warning/error messages at the moment. They are not really necessary but do highlight where some modules are not perfectly constructed. Enjoy πŸ˜€
    1 point
  14. For the title field you can enable access control in template context to limit editability by role. For deletion you can revoke the delete permission per template per role. For the settings tab there is a $template->noSettings property: https://github.com/processwire/processwire/blob/38a5320f612a4b38a7353265343219f224f20e6d/wire/core/Template.php#L100 You can conditionally set this with a hook for non-superusers: $wire->addHookBefore('ProcessPageEdit::execute', function(HookEvent $event) { /** @var ProcessPageEdit $ppe */ $ppe = $event->object; /** @var Page $page */ $page = $ppe->getPage(); if($page->template == 'my_template' && !$event->wire()->user->isSuperuser()) { $page->template->noSettings = 1; } });
    1 point
  15. @V7dev you just need a loop $items = $pages->find("template=event_day, event_schedule.speakers={$page->id}"); foreach($items as $item) { foreach($item->event_schedule as $repeater_item) { echo $repeater_item->event_start_date; } }
    1 point
  16. If you want to add hooks in your ready() method, you could probably call the ready() method at the end of your install() method?
    1 point
  17. To find all pages where the repeater field word_object has a field this_word with value apple you can use subfield selectors $pageArray = $pages->find("word_object.this_word=apple") This will return a PageArray with all those pages. Now to get all the word_object repeater fields from this PageArray, you can use the WireArray explode method $repeatersArray = $pageArray->explode("word_object") This will return an array with all the repeater fields. You can now foreach through this array and output whatever you need. You could also chain this to a single operation $repeatersArray = $pages->find("word_object.this_word=apple")->explode("word_object")
    1 point
Γ—
Γ—
  • Create New...