Recently Updated Topics
Showing topics posted in for the last 7 days.
- Today
-
-
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/
- Yesterday
-
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.
-
hello. are blind devs welcome here? just a question because we're currently working on something big that needs a codebase easy to work with.
-
module ProcessWire Dashboard
d'Hinnisdaël replied to d'Hinnisdaël's topic in Module/Plugin Development
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. -
@ryan it would be much appreciated if we could get your feedback on this. Thank you.
-
How do you enable updating page name on save like in the module config now that the functionality is in PW core?
- 101 replies
-
- template
- autogenerate
-
(and 2 more)
Tagged with:
- Last week
-
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); }
- 1 reply
-
- 1
-
-
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))
- 306 replies
-
- 2
-
-
-
- translation
- language
-
(and 1 more)
Tagged with:
-
Have some swiss customersites by cyon.ch and everything works fine.
-
Great, thanks.
-
Hi Ivan, I haven’t had time yet to verify what (if anything) needs to be done on my side, but I’m fairly sure ProcessTranslatePage already uses the DeepL API v2. It relies on the official PHP client library and was updated in mid‑2025, so we should be in good shape. If any updates are required to keep the module working, I’ll take care of them – thanks for the heads up!
-
Hi @markus-th, That’s so smart — exactly what I needed! Thank you very much for your help. Have a wonderful day!
-
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
-
- 17
-
-
-
@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.
-
Taskbar Icon Overlay (custom little Windows 11 program)
Jonathan Lahijani replied to Jonathan Lahijani's topic in Pub
@BrendonKoz The problem with that option in the screenshot is that while it ungroups the taskbar items, it keeps the "text" part of it, which I don't want because it's not necessary for me and I like to have a lot of windows open so I want to conserve horizontal space. Windows 10 used to have that option, but they removed it in Windows 11. That's why you have to use this Windhawk mod I mentioned in the readme: https://windhawk.net/mods/taskbar-grouping A registry setting alone won't fix it unfortunately. Come on Microsoft! -
Fieldtype module, field names cannot be used in selectors
thei replied to thei's topic in Module/Plugin Development
next effect: mapping of fieldnames to true columns names has also be handled by overloading getMatchQuerySort() of FieldType private function mapColumnNames($fieldName) { $subfieldMap = [ 'date_from'=>'data', 'date_to'=>'to']; $col = array_key_exists($fieldName, $subfieldMap) ? $subfieldMap[$fieldName] : $fieldName; return $col; } /** * adapts the getMatchQuery() of the parent by mapping the column names */ public function getMatchQuery($query, $table, $subfield, $operator, $value) { return parent::getMatchQuery($query, $table, $this->mapColumnNames($subfield), $operator, $value); } /** * adapts the getMatchQuerySort() of the parent by mapping the column names */ public function getMatchQuerySort(Field $field, $query, $table, $subfield, $desc) { $col = $this->mapColumnNames($subfield); // return PW internal sort query string return "_sort_{$field->name}_{$subfield}.{$col} " . ($desc ? 'DESC' : 'ASC'); } Welcome to the PW reverse engineering club - Happy hour wednesday 17-18 pm