Jump to content

elabx

Members
  • Posts

    1,518
  • Joined

  • Last visited

  • Days Won

    21

elabx last won the day on November 20 2025

elabx had the most liked content!

1 Follower

About elabx

  • Birthday 04/12/1988

Profile Information

  • Gender
    Male
  • Location
    Mexico City

Recent Profile Visitors

31,321 profile views

elabx's Achievements

Hero Member

Hero Member (6/6)

1.6k

Reputation

1

Community Answers

  1. This looks amazing. Thanks for sharing!
  2. Ah let's not forget The OG WireQueue! Couple examples from my own experience, involving FormBuilder: It would be great to make FormBuilder actions asynchronous, when integrating whatever third party email/list management, some have very simple integrations that can pass as barely noticeable since it normally involves an extra request, but some of these, sometimes require tokens refreshments to a different endpoint for example, and time starts adding, making the forms feel slow. Another issue that I actually have right now in a website, is how I integrate FormBuilder to save leads as pages, and before saving new pages, I make a search of existing pages/users to avoid duplication of data. This has worked perfectly for the last 8 years or something, but after a few hundreds of leads saved in the database, the query of users during the request is starting to be noticeable, and the form submissions now feel slow. So I'm going to build FormBuilderActionQueueItem to add this process as a queue item to be processed and migrate all logic to the queue worker. Another example that comes to my mind is also building emails that depend on some sort of query, it's not a rare petition that I get to "enrich" emails with related information and data that comes from queries, since the FormBuilder administrator emails' purpose is to help a sales teams make decisions.
  3. Got my vote. I've implemented https://github.com/php-enqueue in a couple projects. @ryan Nice to se the Cli interface, just wanted to give a heads up of wire-cli and rockshell. These have been around from quite a while, something could be inspired from these libraries or maybe pick up from the current state of the libraries to work on things like scheduling/queue/agenttools
  4. The imminent dangers of "vibe coding", developer shouldn't "vibe", they should control imho.
  5. Do you happen to know https://daun.github.io/processwire-dashboard/#/ ?? I mean your module looks fantastic! But I feel it's something what could have been added to ProcessWire Dashboard?
  6. Google maps is really expensive nowadays.
  7. elabx

    I'm back

    Awesome to see you back around 🙂 Game changer, so glad to hear about this!
  8. Always insterested in this sort of projects, thanks for sharing!
  9. This looks amazin @Peter Knight, are you releasing this to the public or as a paid module?
  10. Glad to hear that! In the age of AI I think it's hard to get your mind to have patience and stop to learn the fundamentals, so kudos to you!
  11. Just seems more appropiate! Since WireArray is the base iterable array type in ProcessWire, it's a really handy way to work with lists of things imho. PageArray is meant to work for situations that need pagination from my understanding. Here the intention is to import Pagefile objects returned within a collection (Pagefiles, heads up on plural!), from the findTag method. So you end up with a WireArray containing Pagefile objects. I haven't tested any of this so please bear with me if there are any errors! You're absolutely right! (Claude pun intended) it should be $item as the anonymous function parameter. The syntax for use (&$images) is to pass the WireArray as reference into the context of the anonymous function, the anon function wouldn't know about the $images variable if not passed like this. If we didn't use the "&" we would be passing the value not the reference to the variable and we wouldn't be able to use $images as a "bucket of Pagefile objects". Example.
  12. I can guarantee from experience all these work together fine. This could be another logic for your what you are trying to achieve, although I don't see anything wrong in your snippet! Just figuring out that if you are getting started you might find these examples useful: // assuming section is the name of the repeater $projects = $pages->find("template=project, section.images.tags=gallery"); foreach ($projects as $project) { $title = $project->project_header->first()->project_title; // Maybe something like this to get images from any of the repeaters? $images = new WireArray(); $project->section->each(function($images) use(&$images){ $images->import($item->images->findTag("gallery")); }; foreach ($images as $img) { echo "<a href='{$project->url}' title='{$title}'>"; echo $img->render(); echo "</a>"; } }
  13. My personal solution for this issue, without using third party modules, has been: Setup a page reference field on the home template, that lets me pick the projects I want to showcase, and I make the assumption that l'll pick the first image of the gallery of each project. So i the home template you'll end up with something like: <div id="masonry-gallery"> <?php foreach($page->portfolio_pick as $project):?> <img src="<?=$project->gallery->first->url?>"> <?php endforeach ?> </div> - gallery being the field within the project template. - portfolio_pick being the page reference field on the home template. Another thing I've done, but that I'm not a huge fan of for certain uses, is adding a extra fields to the image field, in this example, the field "gallery" in the project template. So you can then code something like this on the home template: <div id="masonry-gallery"> <?php foreach($page->portfolio_pick as $project):?> <img src="<?=$project->gallery->findOne('is_main_image=1')->url?>"> <?php endforeach ?> </div>
  14. That's a bit of the AI bragging, still missing field/template creation to put an example. I focused first on page CRUD. This looks amazing 😮
×
×
  • Create New...