Leaderboard
Popular Content
Showing content with the highest reputation on 04/11/2025 in Posts
-
I hope you’ve had a good week. My kids have been on spring break from school for the last week, so we took them to the beach for a week. The weather was great, so I didn’t get much time at the computer. We’ve just returned and now I’m anxious to focus on ProcessWire. While I don’t have much to say this week, hopefully by this time next week I’ll have much more to write about, so stay tuned and have a great weekend!8 points
-
Learn more in the README.md on the GitHub page at https://github.com/clipmagic/LoginPassKey Version 0.0.2Beta released on GitHub. This version is more stable delivers tighter security supports LoginRegisterPro Stay tuned 🙂1 point
-
@wbmnfktr apache-fpm in use.1 point
-
1 point
-
I think Ryan mentioned that core is getting 8.4 compatibility fixes so I assumed 8.3 was taken care of. The few issues that I've experienced with 8.x PHP versions are the newer more strict null values being invalid for native PHP functions. I'm running Tracy which has been pretty good catching both errors and warnings so I'm not 100% convinced it's a PHP version issue, however I'm not against trying. I use DDEV and switching PHP versions is cake. I'll give it a shot.1 point
-
@wbmnfktr I welcome "that guy", thanks for asking haha. PageListCustomChildren is installed but not configured. I'm not familiar with VirtualParents, so gonna be a no on that one. What is odd is that this is happening on some pages but not others. I tried removing modules and hooks but couldn't get any different results. I'm assuming this may be something that's happening in my install rather than some sort of bug, I just don't know where to start looking. ProcessWire 3.0.246 PHP 8.31 point
-
I don't want to be that guy, but what versions and modules are installed? Do use use the PageListCustomChildren module or similar ones, like VirtualParents, that put's pages in other views?1 point
-
@pmichaelis thanks for the report. ok let me see if i can make this change and commit soon, might take a couple of days.1 point
-
Hey, there is a deprecation notice when running php 8.3 🥸 Deprecated: Calling get_class() without arguments is deprecated in .../cache/FileCompiler/site/modules/InputfieldAceExtended/InputfieldAceExtended.module on line 499 The error "Deprecated: Calling get_class() without arguments is deprecated" occurs when using PHP 8.3 or later to call the get_class() function without providing an argument. This is because the function's arguments are now required. Call get_called_class(), which works similarly to get_class() but doesn't require arguments. public static function getStatic($name) { $class = get_called_class(); return isset($class::$$name) ? $class::$$name : array(); }1 point
-
Ever needed a color picker on some kind of settings page? Didn't want to install and setup a full-blown colorpicker module? Here's a quick and dirty hook to change a regular text field into an <input type="color"> type of input: Before: After: <?php public function init(): void { wire()->addHookBefore('Inputfield::render', $this, 'changeFieldType'); } public function changeFieldType(HookEvent $event): void { $f = $event->object; $colorFields = [ Site::field_col_primary, Site::field_col_secondary, Site::field_contrast_primary, Site::field_contrast_secondary, ]; if (!in_array($f->name, $colorFields)) return; $f->attr('type', 'color'); } So right before the text input is rendered we change its "type" property to "color" and the browser will render a default color picker 😎 It once more shows how versatile ProcessWire is. And maybe it helps someone... 🙂 PS: Be advised that with that hack you only modify the optics of the field. The field will under the hood still be a regular text field, which means you'll not get any sanitisation or such from it and you might have to take care of that on your own. In my case it's a superuser-only settings page. So it is no issue at all.1 point
-
LyriChord is a Fieldtype, Inputfield and Markup module that lets you input a song's lyrics and optionally chords. You can input these manually or by importing from your clipboard. Inspired by the challenge posed by @oscarale in this thread: The markup module is optional. You can output your song the way you wish. For the HTML I prefer to use tables as they make it easier for things to be aligned properly without having to play around much with the CSS. Planned Features IMPORT XML HTML JSON CSV OCR PDF Other? NOTATION Staff? Guitar Tabs Solfa BOOKS Song books Pagination? EXPORT OTHER Support for syllables Transpose ??? Project + Download TBD soon. I need to cleanup a few things Quick(-ish) Demo1 point
-
Hello, As soon as I try to add a RepeaterField inside another RepeaterField, I receive the warning message: "Undefined array key 'fields_id'" in ...\wire\core\WireSaveableItemsLookup.php:115. After refreshing the page, the message disappears. However, when I add a text field to a RepeaterField, I do not encounter this issue. Below, you can see the function I am using. Can anyone tell me what I am doing wrong? Thanks! Miguel protected function createRepeaterField($repeaterName, $repeaterFields, $repeaterLabel , $repeaterTags='') { // Create Field $f = new Field(); $f->type = wire('modules')->get("FieldtypeRepeater"); $f->name = $repeaterName; $f->label = $repeaterLabel; $f->tags = $repeaterTags; $f->save(); //Create fieldgroup $repeaterFg = new Fieldgroup(); $repeaterFg->name = "repeater_$repeaterName"; $repeaterFg->save(); // Erst speichern! //Add fields to fieldgroup foreach($repeaterFields as $field) { $repeaterFg->append(wire('fields')->get($field)); } $repeaterFg->save(); //Create template $repeaterT = new Template(); $repeaterT->name = "repeater_$repeaterName"; $repeaterT->fieldgroup = $repeaterFg; $repeaterT->save(); //Setup page for the repeater $repeaterPage = "for-field-{$f->id}"; $f->parent_id = wire('pages')->get("name=$repeaterPage")->id; $f->template_id = $repeaterT->id; //Now, add the fields directly to the repeater field foreach($repeaterFields as $field) { $repeaterFieldIds[] = wire('fields')->get($field)->id; } $f->repeaterFields = $repeaterFieldIds; $f->save(); return $f; }1 point
-
The collaboration between dotnetic and Fugamo highlights the importance of a well-designed, efficient website for attracting and retaining customers. Fugamo, a provider of custom clothing for schools, clubs, and organizations, faced significant challenges with their old website. Slow load times, outdated design, and cumbersome content management were major issues that hindered customer engagement and conversions. The Challenge Fugamo's primary goal was to present their product offerings effectively, but their old website's sluggish performance and unattractive design made it difficult for potential customers to explore and make inquiries. Additionally, the absence of a wishlist feature complicated the user experience, leading to a lower conversion rate. The content management system (CMS) in place was inflexible, making it hard for Fugamo to update and create new content efficiently. The Solution Design Overhaul: We prioritized a visually appealing design to engage Fugamo's target audience — students, schools, and clubs. The new design incorporates vibrant colors, dynamic graphics, and interactive elements like an animated header. This not only enhances user experience but also strengthens Fugamo's brand identity and emotional connection with visitors, increasing the likelihood of customer loyalty. Centralized Content Management: A key improvement was the integration of a centralized interface, streamlining the management of both the website and the online shop. This ensures that new products can be added quickly and efficiently, keeping the website up-to-date without redundant manual updates across multiple platforms. Mobile Optimization: We implemented a responsive design ensuring the website performs well on all devices. This approach guarantees a seamless user experience regardless of the device used, addressing the needs of a mobile-savvy audience. Wishlist Feature: To enhance user interaction, a wishlist feature was introduced. This allows users to mark products of interest and include them in their inquiries through the contact form, simplifying the process and encouraging more customer engagement. Flexible Pagebuilder: We incorporated a flexible pagebuilder tool (RockPageBuilder), enabling Fugamo to easily create and update content. This tool simplifies the management process, allowing for quick adaptations and additions, crucial for maintaining an up-to-date and engaging website. Live Search Integration: A live search function was added, providing instant results as users type their queries. This feature significantly improves user experience by making navigation and product discovery faster and more intuitive, which can increase user satisfaction and the likelihood of conversions. Techniques and Technologies Used ProcessWire CMS: We utilized ProcessWire, our favorite CMS known for its flexibility and power. The existing e-commerce system is also based on ProcessWire, making it an ideal choice for seamless integration. Key Modules: Several ProcessWire modules were employed to enhance functionality: RockPageBuilder: For easy content creation and management. RockFrontend: Supports modern frontend development. RockMigrations: Facilitates field and template creation and data synchronization. FrontendForms: Simplifies form creation, management, and validation. SEOMaestro: Provides tools for creating sitemaps and managing Open Graph data. HTMX and AlpineJS: For drawers, navigation and live search PageimageSource: Optimizes image management and display. Latte Template Engine: Offers a powerful and secure template system. Outcomes and Impact The redesign and optimization efforts resulted in a significant improvement in website speed and user experience. Enhanced design elements and faster load times led to longer user sessions and reduced bounce rates. The introduction of the wishlist feature and improved content management increased the number of inquiries and conversions, helping Fugamo attract more schools, clubs, and students. Conclusion The Fugamo website revamp underscores the critical role of a modern, user-friendly website in business success. By addressing performance issues, implementing a captivating design, and enhancing content management, dotnetic helped Fugamo boost their online presence and customer engagement. This case study exemplifies the necessity of ongoing digital innovation to meet user needs and drive growth in the competitive online marketplace. For more details, visit the Fugamo Case Study (written in german).1 point