Jump to content

Recently Updated Topics

Showing topics posted in for the last 7 days.

This stream auto-updates

  1. Today
  2. Hey there, I changed the generation of the IDs to the internal sanitizer pagename function because I had some HTML markup (spans) within the headlines in the text field, which meant that the markup was no longer valid in the frontend. line 56 // Remove html tags before creating slug $cleanText = strip_tags($m[2]); // Use ProcessWire's sanitizer for proper slug generation $slug = wire('sanitizer')->pageName($cleanText, true);
  3. Thanks, Ivan. Screenshots are included in the Readme file on Github and the module directory (when module is approved). Regarding Repeater (Matrix) Fields: As the module handles external (non ProcessWire) data structures, what exactly do you mean by „handled“? It is not possible to map data to an existing template/field structure, if that´s what you are asking for.
  4. @ngrmm I think I found the bug (again), could you try and change TranslateGlossary.php:34 to the following: $entryArr = self::convertGlossaryStringToArray($language->translate_glossary ?? ''); The change is the ?? '' after translate_glossary. This handles empty glossary fields that return null instead of an empty string. Hopefully this will do it!
  5. Yesterday
  6. @maximus I included that .htaccess file as an extra measure but Apache won't serve .env files. Just don't tinker with some deeply hidden config somewhere to serve dotfiles 😆
  7. Hi @patricus, like Markus has said, everyone is welcome. It's a very friendly and respectful place, full of talented people. And, speaking from experience, if you need a codebase that's easy to work with for big projects, ProcessWire is an excellent choice. You can build basically anything with it. And a lot of times things are done much faster than with the more popular frameworks.
  8. End of 2025 the relaunch of die Kubota Brabender Technology Website went live. KBT is a global leader in feeding technology and bulk solids handling. The technical production is developed by me, Olaf Gleba. The grafic design is supplied by C&G: Strategische Kommunikation GmbH. Homepage: https://www.kubota-bt.com The site uses a lot of asynchronous calls in several sections. 1. The product search is ajax driven and also preserve entered filter options while browsing the product pages (and all other pages) with session.storage. 2. Because there are many global partners and locations, it is neccessary to allow to narrow down the selection for proper contacts. 3. The page media holds all available downloads and media content. This includes magazines, videos, terms of contract and works standard specifications. The videos are implemented with help of the HTML Dialog Element. Work Standards documents are supplied/collected from one source (product page) to avoid duplication. 4. Backend: As most of the time, i provided content modules that fits the client needs. This and that: PrivacyWire (@joshua) as CCM (just a few cookies to handle Matomo and external movie content) Uses the SearchEngine Module (@teppo) to handle (multilanguage) site search Wire Mail Smtp (@horst)to deliver automated e-mails Heavy use of Fieldtype AssistedURL (Fork by @adrian) to provide language dependend, local file linking (fieldname_[de|en] approach) Distribution of concatenate/minified css and javascript is cachebusted (happens within my developement environment,- no modules (like AIOM etc.) involved). The site uses a bunch of modules provided by the ProFields Package (for example Repeater Matrix and Table Fieldtypes).
      • 7
      • Like
  9. It will be difficult to do all this even if you use AI to create what you need. First of all, you need to understand how it all works in ProcessWire and have skills in working with ProFields, Repeater, Repeater Matrix, Selector, and other basic modules. There is nothing complicated about it, but the time you spend creating a solution from scratch is better spent finding a ready-made solution and removing what you don't need. To understand how these systems work, I suggest you start by studying https://processwire.com/modules/site-invoices/
  10. Last week
  11. After looking at the code in the 'AltTextGpt.module.php' & the response from the POST request to chatGPT it was clear the API key was not working (although it worked elsewhere?). It was replaced with a newly generated one, which updated the image descriptions even within repeater fields. The ALT text was updated for 197 images for $0.43, which all had clear descriptions of the images. I'd like to experiment with the prompt in order to make it better for SEO, but was impressed with the results & time saved too. It updates all non-admin pages with the images field as long as no ALT text (description text) exists (in answer to my own question) & the URL is the domain name without a trailing '/'. Thank you for the module.
  12. Can you create an issue on the repo? I'm currently busy with other projects, so i you require a quick fix, a PR is much appreciated. Otherwise I'll see when i get to it.
  13. @ryan it would be much appreciated if we could get your feedback on this. Thank you.
  14. How do you enable updating page name on save like in the module config now that the functionality is in PW core?
  15. Some site-wide JS? // Get the current URL const currentUrl = window.location.href; // Convert to lowercase const lowercaseUrl = currentUrl.toLowerCase(); // Only update if there are uppercase letters if(currentUrl !== lowercaseUrl) { // Use replaceState to update URL without reloading the page window.history.replaceState(null, '', lowercaseUrl); }
  16. Good day, PWmates! I just had a super productive and mega fast support session with @FireWire. Great thanks to you, man! I almost forgot how pleasant is it to be here, in the supportive and friendly PW community. I am 12 year around and this great spirit is not going nowhere) Happy New Year to all of us here, where we unite and make at least a little corner of the world a better place! P.S. And if you think this post is late to the party check this out))
  17. Have some swiss customersites by cyon.ch and everything works fine.
  18. Great, thanks.
  19. This looks amazing! I`m actually helping a friend on a project for his tiny psychologist clinic. We implemented Google Calendar appointments since it’s almost no configuration and just works. But this project look really promising.
  20. Hi @markus-th, That’s so smart — exactly what I needed! Thank you very much for your help. Have a wonderful day!
  21. Hello everyone, I’m happy to share a new module I’ve been working on: WireMagnet. We often face the requirement to offer "gated content" (like Whitepapers, PDFs, or Zip files) where users need to provide their email address to receive a download link. While there are external services for this, I wanted a native, privacy-friendly, and lightweight ProcessWire solution. What does WireMagnet do? WireMagnet handles the entire flow of capturing leads and delivering files securely. It intercepts form submissions, logs the lead, and sends an email with a unique, temporary download token. It prevents direct access to the files (assets are not just sitting in a public folder). Key Features: Secure Delivery: Generates unique download tokens (valid for 24 hours) and serves files via wireSendFile(). Double Opt-In (DOI): Optional support for DOI to verify email addresses before sending the file. Automated Emails: Automatically sends the download link (or attaches the file directly if preferred). AJAX Ready: Comes with built-in Alpine.js support for seamless, reload-free form submissions. Lead Management: Logs all subscribers (Email, IP, Timestamp) to a custom database table (leads_archive). Admin Interface: View leads and export them to CSV directly from the ProcessWire backend. Easy Integration: Render the form with a single line of code. How to use: Install the module. Create a page (e.g., using a lead-magnet template) and upload your file to a file field. Output the form in your template: // Render the subscription form (default field: 'lead_file') // The module automatically handles success/error messages and styling. echo $modules->get('WireMagnet')->renderForm($page); // OR: Render for a specific field (e.g., if you have multiple magnets or custom field names) echo $modules->get('WireMagnet')->renderForm($page, 'my_custom_file_field'); // OR: Override the button text manually echo $modules->get('WireMagnet')->renderForm($page, 'lead_file', 'Send me the PDF!'); Configuration: You can configure the sender address, email subject, DOI settings, and styling preferences (like button text) in the module settings. Download & Source: GitHub: https://github.com/markusthomas/WireMagnet Modules Directory: later I'm looking forward to your feedback and suggestions! Cheers, Markus
  22. @szabesz Thanks, I was able to duplicate that also. I couldn't figure out how to fix it, but @diogo had a look and came up with a solution. It should be on the dev branch now. Please let me know if you still run into the issue.
  1. Load more activity
×
×
  • Create New...