Leaderboard
Popular Content
Showing content with the highest reputation on 06/17/2025 in all areas
-
Padloper is dead! Long live Padloper! It is official! Padloper is now ProcessWire Commerce. ProcessWire Commerce is a free, open-source fully featured e-commerce module (plugin) for building and managing fully function online shops (stores) in ProcessWire. It is flexible, extensible, highly customisable, scalable, robust, multilingual by design and battle tested. Pro Support ProcessWire Commerce is designed to be easy to develop with and to use. For some, you might need extra reassurance that professional help will be available if you need it. Or, you might have a question about how to perform a certain thing or wish to support the project to ensure that any issues are dealt with quickly. Or you might want to sponsor a particular feature. If this is you, Pro Support and custom development can be purchased from my website. Community Support These forums. Donations If you value my work or my work helps support your work or you just want to say thanks, please consider donating. Thanks! Requests Modalities are still being worked out. Please note: I'll add features at my own pace; if and when I can (reasons for this discussed elsewhere in the forums). I'll focus on security, PRs and maintaining the project and major bug fixes. I hope community will contribute. Sponsored (pay for a feature) features: This can be by individuals or community driven. Please contact me for availability. Known Bugs ProcessWire Commerce Admin GUI is broken in the new admin theme, i.e., ProcessWire 3.0.248 (or newer). Save + Exit and similar broken on some pages at some recent ProcessWire version. Manually order creation broken (backend). Please file bug reports in the repo here - https://github.com/kongondo/ProcessWireCommerce/issues. Contributing This is a community project. All contributions are welcome! We are still working out how the 'how'. Documentation Please see this thread. Other Important Stuff Migrating from Padloper. Community help request. Tech Stack ProcessWire (PHP). Vanilla JS htmx Alpine JS Tailwind CSS MySQL Download Here you go!14 points
-
ProcessWire Commerce will be here later today. As mentioned in earlier discussions, my hope is that this will very much become a community project. ProcessWire Commerce is a mature project that powers hundreds of shops, big and small. There still some work needed to make it better. This is where you can chime in, to the extent you can. Please note: I don't have it all figured out yet. With your help, we can figure it out together, including the contribution process. Below are the things that currently need to be worked on. Documentation: Frontend documentation - for frontend developers: End-to-end how to work with ProcessWire Commerce in the frontend to build a shop. Backend documentation - for shop editors. How to use the GUI to configure, build, run and manage a shop. API documentation - for documenting how ProcessWire Commerce is built, developing for it and contributing. Still considering if/how to how to host documentation. Suggestions welcome. Fix Bugs Identify, report and suggest bug fixes. Please file bug reports in the repo here - https://github.com/kongondo/ProcessWireCommerce/issues. Fork the project, fix bugs and submit PRs. Tutorials Help write ProcessWire Commerce tutorials for different audiences. Help create demos. Ecosystem Help grow the project. Star it on GitHub. Create add-ons. Build migration tools. Create a logo for ProcessWire Commerce. Help write unit tests (???) Site Profiles Help develop an official, multi-lingual, modern site profile/theme to be used to showcase ProcessWire Commerce. Contribute site profiles or themes.8 points
-
ProcessWire Commerce is a free, open-source fully featured e-commerce module (plugin) for building and managing fully functional online shops (stores) in ProcessWire. It is flexible, extensible, highly customisable, scalable, robust, multilingual by design and battle tested. The current features are: Core Features Product Management: Create and manage unlimited product listings with options for unlimited variations, pricing, and descriptions. Support for 4 product types: Physical with shipping, physical without shipping, digital and services/events. Optionally track stock. Order Management: Process and manage orders, handle refunds, print invoices and communicate with customers. Frontend order placement and backend manual order creation. Shipping Options: Configure shipping methods, rates, handling and zones based on location and product type. Rates can be tiered and based on weight, price, quantity or flat. Support for 'rest of the world' shipping. Tax Management: Calculate and apply taxes automatically based on location and product type. Prices can include/exclude taxes. Tax overrides can be added to product categories (collections) and/or shipping. Analytics & Reporting: Gain insights into sales, customer behavior, and product performance. Payment Gateways: Integrate with numerous payment processors to securely accept online payments. Invoice, Stripe and PayPal included by default. Easily add your preferred gateway. Optional Features Inventory Management: Track stock levels, manage back-orders, and set up low stock notifications. Product Categories (collections). Product Tags. Product Attributes (for product variants, e.g. colour, size, etc). Product Types: 'Phones', 'Books', 'Shirts' and so on. Product Brands: Create and manage shop product brands/vendors/manufacturers. Product Properties: Further describe products based on various properties such as 'Colour', 'Grade', 'Weight', etc. Product Dimensions: For instance, 'Centimetres', 'Kilograms', 'Litres', etc. For use with Product Properties. Downloads; Digital products or files that accompany a product such as 'tickets', 'manuals', and so on. Discounts: Redeemed by customers or applied automatically at checkout. Support for four types: Fixed, Percentage, Shipping and Buy X get Y (last one is WIP). Discounts can be applied to whole order, parts of it, to select customers or countries. Customer Management: Create and manage unlimited customers. Can be created at checkout (using the API and/or hooks) or manually in the backend. Email customers directly from admin. Customers can have multiple addresses. Customer Groups: Create and manage unlimited customer groups Add customers to as many customer groups as needed. Customer groups can be targeted for marketing, promotions, etc. Legal Pages: Create and manage legal pages such as 'Shipping Policy', etc. Gift Cards: WIP. Move some pages from /admin/shop/ to a parent in the home tree. With your help, we can add more features 😀!5 points
-
Thread to discuss the state, suggestions, contributions, etc. regarding documentation for ProcessWire Commerce. The minimal Padloper documentation found here can be a starting point. I'll try my best to write the documentation. I need your help though. Please note the caveats in the 'open-sourcing Padloper' thread. I.e., I'll do what I can when I can. Your help is vey much appreciated. I'll prioritise assisting documentation contributors, to help point them in the right direction. Documentation should cover: Frontend documentation - for frontend developers: End-to-end how to work with ProcessWire Commerce in the frontend to build a shop. Backend documentation - for shop editors. How to use the GUI to configure, build, run and manage a shop. API documentation - for documenting how ProcessWire Commerce is built, developing for it and contributing. Thank you! You contribution is much appreciated!2 points
-
This week I’ve bumped the dev branch version number to 3.0.249. This includes a little under 20 commits with various small updates, also including several to the new AdminThemeUikit default theme. This will likely continue for a couple more minor versions on the dev branch as we continue to optimize and improve it. See dev branch commit log for more details. I’m currently developing a portal application in ProcessWire for a client, and also working to finish up the ProcessWire.com website with the new design. We’re getting very close to having it technically ready, leaving just some writing for the homepage and features sections of the site. So the new site could be online in as soon as the end of the month. Stay tuned! Thanks for reading and have a great weekend!2 points
-
NOTE: Here and elsewhere referencing ProcessWire Commerce, Padloper refers to Padloper 2. Padloper 1 was retired 3 years ago. -------------- New Site Install ProcessWire Commerce. The current (outdated and incomplete!) Padloper docs are still helpful. Note though that configuring ProcessWire Commerce is accessed via /admin/shop/configure-pwcommerce/. For template files and hooks, please note the following: Changes Template Files All instances of $padloper should be replaced by $pwcommerce. For instance $padloper->getCart() should become $pwcommerce->getCart(). All instances of 'pad_' should be replaced by 'pwcommerce_'. For instance 'pad_price_total' should become 'pwcommerce_price_total'. Hooks Your hooks, e.g. in ready.php should be renamed as follows: All instances of Padloper::someHookedMethod should become PwCommerce::someHookedMethod. Please note the spelling is case-sensitive. Existing Site DO NOT UNINSTALL Padloper! DO NOT INSTALL ProcessWire Commerce! Download and install the Padloper to ProcessWire Commerce migration tool from this repo. Please READ all the instructions! Template Files: As above. Hooks: As above. Any issues please let us know below. Include info about: ProcessWire version (please note ProcessWire Commerce/Padloper's admin GUI is broken in new admin theme, i.e., ProcessWire 3.0.248 (or newer). Padloper version. Site language(s). PHP version. MySQL version. For issues with the migration tool itself, please raise an issue in the project repo. Include the above environment information please. Whilst I have thoroughly tested the migration tool (on a multilingual site), usage of the migration tool is at your own risk!1 point
-
I'm using a regular UIkit modal... Original theme: With the default theme the modal is vertically centered, which causes a weird glitch when closing it: As the UIkit docs mention there is a standardised way to center the modal: https://getuikit.com/docs/modal#center-modal. And as you can see there it will work properly if used properly. I don't know why the default modal is vertically centered with the new theme, but I know that adding these kind of visual "optimisations" causes problems. Could you please stick to default UIkit markup and concepts as much as possible with your overrides to avoid these kind of issues? Thank you.1 point
-
...that's the title of this video that I found recently and it had some useful tips & tricks that I didn't know:1 point
-
@bernhard Understood. Thank you. And I see you have been a beast in my year away; you’ve got a slew of modules. Great work.1 point
-
Ever wondered when certain hooks get executed? Which hooks got fired along the request? Or need to debug why your hook does not fire as expected? Open /wire/core/WireHooks.php, find the method "runHooks" and paste this at the very top of this method: $logfile = wire()->config->paths->root . 'hooks.txt'; $tooOld = is_file($logfile) && filemtime($logfile) < time() - 5; if ($tooOld) unlink($logfile); $logData = get_class($object) . "::$method\n"; file_put_contents($logfile, $logData, FILE_APPEND); This will write a log of all hookable methods to hooks.txt and it will probably begin like this: ProcessWire\FileCompiler::compile ProcessWire\FileCompiler::compile ProcessWire\FileCompiler::compile ProcessWire\FileCompiler::compile ProcessWire\Fields::load ProcessWire\Fieldgroups::load ProcessWire\Templates::load ProcessWire\Fieldgroup::setQuietly ProcessWire\Fieldgroup::callUnknown (maaaany more lines) And it will most likely end with "ProcessWire\ProcessWire::finished" 🙂 Now you can play around with this logfile and view different pages. For example when opening a page for editing you will have a portion of this in the log (ProcessPageEdit::buildForm...): ProcessWire\ProcessPageEdit::breadcrumb ProcessWire\JqueryCore::use ProcessWire\JqueryUI::use ProcessWire\ProcessPageEdit::execute ProcessWire\HutPage::setEditor ProcessWire\ProcessPageEdit::buildForm ProcessWire\ProcessPageEdit::buildFormContent ProcessWire\Field::getInputfield ProcessWire\Field::getInputfield ProcessWire\Field::getInputfield ProcessWire\Field::getInputfield ProcessWire\Field::getInputfield ProcessWire\Field::getInputfield ProcessWire\Field::getInputfield ProcessWire\Field::changed ProcessWire\Field::changed ProcessWire\Field::getInputfield ProcessWire\Field::changed ProcessWire\Field::getInputfield ProcessWire\Field::getInputfield ProcessWire\Field::getInputfield ProcessWire\HutPage::viewable ProcessWire\Pages::find ProcessWire\PageFinder::find ProcessWire\PageFinder::getQuery ProcessWire\HutPage::addable ProcessWire\ProcessPageEdit::buildFormChildren ProcessWire\WireInputData::int ProcessWire\WireInputData::callUnknown ProcessWire\WireInputData::int ProcessWire\WireInputData::callUnknown You can also use grep to find the hooks you are looking for, for example: cat hooks.txt | grep ProcessWire:: ProcessWire\ProcessWire::init ProcessWire\ProcessWire::ready ProcessWire\ProcessWire::finished ProcessWire\ProcessWire::finished This has helped me today to find the correct spot to hook into. Maybe it also helps anyone else. Have fun! PS: Don't forget to remove this once you are done with inspecting, of course!1 point