Leaderboard
Popular Content
Showing content with the highest reputation on 07/11/2025 in Posts
-
This week we have some useful upgrades to ProcessWire’s Markup Regions system. These upgrades make Markup Regions even more flexible and intuitive by reducing the dependence on HTML id attributes. Here is a new blog post that covers it in detail— https://processwire.com/blog/posts/pw-3.0.250/5 points
-
Hi there! I love ProcessWire, and whenever I see someone asking for a lightweight CMS, I always recommend it. However, ProcessWire is somehow still extremely underestimated on GitHub, 201 forks, which is really good, but only 990 stars. Let's make an effort together and bring ProcessWire to 1000 stars this weekend! Only 10 stars left. Star on Github: https://github.com/processwire/processwire More context about initial GitHub stars initiative of @adrian: Upd: 10 stars done in five hours.5 points
-
We all know that ProcessWire started much before all the stars hype on GitHub. Moreover, the initial repository with ProcessWire 2.0 had over 722 stars and nearly 200 forks, which means that ProcessWire reached the 1k milestone a long time ago. But as @Ivan Gretsky mentioned early "... keep the love to ProcessWire always burning deep in your heart..." And of course, the most important and valuable star for PW is always inside our hearts (even if it's not always visible on Microsoft GitHub). I would like to take this opportunity to congratulate @ryan, @adrian for initial initiative to give PW more visibility on GitHub, all contributors, and the whole community on this formal milestone and wish for decades of successful development and deployments ahead. Congratulations!4 points
-
3 points
-
v1.1 has been released with some bug fixes and a ListerPro Page Action added to batch translate pages using the ListerPro module. Keep in mind that the Page Action module needs to be installed separately.2 points
-
Nice challenge! Pinging my friends and colleagues. Already +1 )))2 points
-
RockGrid has seen a lot of great improvements over the last few days 😍 The whole codebase has been cleaned up and all javascript files have been split into several files to make maintenance easier. All of that was easily possible thanks to RockDevTools. RockGrid now supports so called "magic attributes" that can pull data from the grid and create UI elements completely automatic. TagsFilter The new tags filter pulls data from one column of your grid and lists all available options as clickable filter tags: All you have to do: <div rg-tagsfilter="field:your_field_name;"></div> --- Flipper I realised that when building grids for my custom bookkeeping software I built the same stuff over and over again, for example buttons to quickly flip over time periods (like the current year, previous year, this month, previous month, etc...). Now that's also built into RockGrid and can be used with a single dom attribute! 😎 All you have to do: <div rg-flipper="field:date_column;range:year;">Y</div> <div rg-flipper="field:date_column;range:month;">M</div> <div rg-flipper="field:date_column;range:day;">D</div> Go and check out RockGrid v1.6.0 🚀🚀1 point
-
@Ivan GretskyTechnically it's a 2-digit count instead of the full 1000. Just 1k.1 point
-
1 point
-
1 point
-
1 point
-
@Ivan Gretsky We are not affiliated, so that should be fine. However, it seems that this demand violates rule number 8 of posting, therefore we could indeed be banned. So, I will not mention all 8,370 (9,363 members minus 993 stars) members who ignore the matter that if you use someone's code and don't pay for it, you can at least star it on GitHub to help it get a better position in the rankings.1 point
-
I'm sure everyone is waiting to post the 1,000th star on ProcessWire's GitHub - don't be shy, being the 994th star is even better!1 point
-
@ryan now that NativePHP reached v1 we could build native mobile and desktop apps with ProcessWire if it supported SQLite 🤯🚀 How cool would that be???1 point
-
I'll be on the road today picking up my daughter from a summer camp that’s 4 hours away. So I'm spending the day in the car rather than at the computer. As a result, I don’t have anything major to report this week, but wanted to say hello before I left for the day. Progress continues on everything we’ve talked about in recent weeks. I’m also working on a client project, building a ProcessWire based login portal that is kind of a front-end to a Salesforce system. It uses LoginRegisterPro, FormBuilder and ProFields Custom Fields. I’m making some improvements to those 3 modules as I go. For instance, LoginRegisterPro will be getting an email-to-login option. When enabled, if you submit the login form but leave the password blank, it’ll email you a link to automatically login. The feature is optional and not enabled by default. More next week. Thanks for reading and have a great weekend!1 point
-
I haven't tried (and so could easily be wrong!), but I think the following would work: foreach ($pages->find("template=template_name") as $page) { ob_start(); $page->render(); ob_end_clean(); } The output buffering is to stop the pages rendering in the browser. It'd probably be easiest to put the code in a template file.1 point
-
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 😀!1 point
-
@bernhardIn this test, I didn't want to install benchmark tools, so I just used PHP (code below) with the following results: test 1) Elapsed Processwire Boot time Apache/2.4.62: 0.1405s Page load time: 6.53 ms Database query time: 0.5 ms Memory used: 325.21 KB Elapsed Processwire Boot time nginx/1.26.1: 0.1175s Page load time: 4.68 ms Database query time: 0.65 ms Memory used: 256.13 KB test 2) Elapsed Processwire Boot time Apache/2.4.62: 0.2145s Page load time: 6.42 ms Database query time: 0.45 ms Memory used: 325.21 KB Elapsed Processwire Boot time nginx/1.26.1: 0.1512s Page load time: 4.86 ms Database query time: 0.64 ms Memory used: 256.13 KB test 3) Elapsed Processwire Boot time Apache/2.4.62: 0.1809s Page load time: 48.97 ms Database query time: 0.7 ms Memory used: 325.21 KB Elapsed Processwire Boot time nginx/1.26.1: 0.0909s Page load time: 4.65 ms Database query time: 0.64 ms Memory used: 256.13 KB <?php $home = $pages->get('/'); /** @var HomePage $home */ $start_time = microtime(true); $start_memory = memory_get_usage(); $start_query_time = microtime(true); $pages = $pages->find("template=basic-page"); $query_time = microtime(true) - $start_query_time; ?> ?><!DOCTYPE html> <!-- STANDARD >main.php body--> <?php $end_time = microtime(true); $page_load_time = $end_time - $start_time; $end_memory = memory_get_usage(); $memory_used = $end_memory - $start_memory; $elapsed = Debug::stopTimer($timer, 's'); // Debug::startTimer in index.php ?> <div> <p>Elapsed Processwire Boot time <?php echo $_SERVER['SERVER_SOFTWARE'] . ': ' . $elapsed ?><br> Page load time: <?php echo round($page_load_time * 1000, 2); ?> ms<br> Database query time: <?php echo round($query_time * 1000, 2); ?> ms<br> Memory used: <?php echo round($memory_used / 1024, 2); ?> KB</p> </div> </body> </html> Breakdown of results: Elapsed ProcessWire Boot Time: NGINX consistently shows lower boot times, indicating it may handle PHP requests more efficiently than Apache in this test case. Page Load Time: The page load time in the third test for Apache (48.97 ms) is an anomaly I can't explain. Caching? Network latency? Database Query Time: Apache and NGINX have similar query times Memory Used: Memory usage is relatively low, and the difference between the two servers is not substantial.1 point