Jump to content

All Activity

This stream auto-updates

  1. Today
  2. I'm doing a little research here. How many templates do you have across your 3 largest sites? I don't need URLs. Just an approx number. For me, I have approx 10-20 templates in most sites. Cheers P
  3. dragan

    I'm back

    @Soma Welcome back!
  4. Thank you for sharing! Are you planning to add it to the Module Directory?
  5. DEPRECATED: I am no longer supporting AdminThemeCanvas. Now that the new native KONKAT theme is part of the ProcessWire core, this module is largely redundant. Thanks to everyone who used and supported it!. This repository will remain available for legacy projects but will not receive further updates. To make the KONKAT theme behave more like this one you can install the AdminQuickTree module, which gives you direct access to the page tree navigation.
  6. Hello @da² I have added a new validation rule that could be interesting for your usecase: uniquestringvalueofpwfield It checks for the uniqueness of a value inside of a specific ProcessWire field. Lets assume you have stored your gaming usernames inside the PW field with the name "gamer_name" which you have added to the user template. Then you could validate the gaming username with the new validator like this: $gamername = new \FrontendForms\InputText('gamername'); $gamername->setLabel('Gamer name'); $gamername->setRule('required')->setCustomFieldName('This gamer name'); $gamername->setRule('uniqueStringValueOfPWField', 'gamer_name', ['user']); $form->add($gamername); As you can see, you have to add the name of the PW-field (= gamer_name) as the first parameter. The second parameter (= the name of the template") is not mandatory, but it makes sense in this case to restrict the search only for entries in the user template. Add this as an array, because it also possible to search in multiple templates). Otherwise the search will be globally on all templates where this ProcessWire field is added. To use the new validator please update to 2.2.13 Best regards Jürgen
  7. I'm thinking a stand-alone repo? If it's going to be a solid design language reference and referenced by other modules and developers, it should be separate. What's your feeling?
  8. Thank you Ryan. This was done largely to standardize components so that all modules being developed would look more or less the same, since artificial intelligence does a lot of hardcoding in its own style, which is annoying. Yes, during this development, I gave him the admin.css file, maybe even the folder - for him to process and build. It took several iterations to get this result. I'm still not satisfied, but I can already try using it in my work. For example, I created a beautiful black theme for the upcoming Collections module and other modules. One unified architectural style is much better than hundreds of different styles. Claude still gets confused, but I think this will happen less often. Yes, thank you. I think so, it would be better to create a repository to make changes. Should I make this a separate repository or include it as part of the Context module?
  9. That looks nice! I would like to hear something about the map - what technology is used and how the locations are displayed. Most sites still rely on google maps or open street map to display maps and markers. Which cause you some trouble with the data protection regulation inside the EU states...
  10. I was just thinking this when @Soma reappeared. I've been using MSN too on every project I've ever created and never had an issue with it.
  11. @Soma So happy to see you back in the PW forums 🙂 Have been using your MarkupSimpleNavigation module for years without a problem, until well on current project. Timely! Problem was that current pages were not always being recognised as such. Fix was in function _renderTree line 211 - change: //$is_current = $child === $page; $is_current = ((int) $child->id === (int) $page->id); Credit to you that MuSNav has been solid for so long. Cheers psy
  12. Yes please! I think that would be very interesting. Good to see snipcart get a mention too. I used it a few projects back and found it very accessible and nice to develop in.
  13. I heard that too. If I’m not mistaken though, you can have 10,000 views per month free. https://mapsplatform.google.com/lp/maps-apis/#pricing
  14. Hello @da² looks like it is not so difficult 🙂. First of all I would take a look at the following Inputfield: https://processwire.com/modules/fieldtype-text-unique/ This looks interesting and if it fits to your needs, than add it to the user template in the backend as the field containing the gamer name. Second, take a look at the uniqueEmail or uniqueUsername validators, which are already included in FrontendForms. These validators could be used as a starting point for your own validation rule. Take them as an example to create your own custom rule for gaming names.
  15. Wow. This is incredible. Thank you for how thorough it appears to be.
  16. Fantastic, thanks Robin.
  17. Yesterday
  18. @Marty Walker, I don't want to complicate what this module does, but you can achieve your objective with a bit of custom JavaScript added to the PW admin. Custom JavaScript file in /site/templates/scripts/admin-custom.js $(function() { // Copy a string to the clipboard function copyToClipboard(string) { // HTTPS websites if(navigator && navigator.clipboard && navigator.clipboard.writeText) { const clipboardItem = new ClipboardItem({ 'text/html': new Blob([string], {type: 'text/html'}), 'text/plain': new Blob([string], {type: 'text/plain'}) }); navigator.clipboard.write([clipboardItem]); } // Old browsers or non-HTTPS websites else { const $input = $('<input type="text" value="' + string + '">'); $('body').append($input); $input.select(); document.execCommand('copy'); $input.remove(); } } // When an image thumbnail is Alt-clicked, copy the URL of the corresponding original image document.addEventListener('click', function(event) { if(event.altKey) { const $el = $(event.target.closest('.gridImage__edit, .gridImage__overflow')); if($el.length) { // Prevent any other click handlers from running event.stopImmediatePropagation(); event.preventDefault(); // Copy the image URL const $img = $el.closest('.gridImage').find('img'); const url = window.location.origin + $img.data('original'); copyToClipboard(url); // Highlight the clicked element to show that something happened $el.effect('highlight', {}, 500); } } }, true); }); Add the custom JS file to the PW admin by adding the following line to /site/templates/admin.php ... $config->scripts->add($config->versionUrl($config->urls->templates . 'scripts/admin-custom.js', true)); ...immediately before the existing line... require($config->paths->core . "admin.php"); Now when you Alt-click an image thumbnail the URL of the corresponding original image will be copied to the clipboard.
  19. Google maps is really expensive nowadays.
  20. I think this was flagged before but the Dev Directory is running on an older theme. https://directory.processwire.com/developers/ The map seems broken too but I realise Google are forever changing their maps API. P
  21. @maximus, thank you for all the modules! Just to let you know: there are 2 occurences of formatBytes() in Context.module.php
  22. Hi everyone, I wanted to share a module I’ve been building for ProcessWire: PW Native Analytics. The main idea behind it was simple: to have a useful analytics dashboard directly inside ProcessWire, without relying on external analytics platforms, third-party scripts, or external APIs. Everything is handled natively inside the CMS, which makes it a nice fit for projects where you want a simpler, more self-contained analytics solution. The module currently tracks and displays things like: page views unique visitors sessions current visitors top pages referrers devices and browsers 404 hits engagement events such as form submits, downloads, tel/mail clicks, outbound clicks, and custom CTA events It also includes: charts and trend views comparison between periods custom date range filtering page-level analytics inside the page edit screen exports to CSV, PDF, and DOCX helper examples and a small snippet generator for custom event tracking The reason I built it was that I wanted something that feels natural inside ProcessWire itself, instead of just embedding another analytics service into the admin. For many sites, it can be useful to have core traffic and engagement data available right where content is managed, with no need for external integrations. Tell me if you find it usefull 😉 Download it Here: PwNativeAnalytics.zip
  23. PromptWire MCP (new name) is now public on Guthub. Use at own risk 😀 https://github.com/PeterKnightDigital/PromptWire-MCP PromptWire MCP for ProcessWire (blog introduction) Documentation can be found here. https://www.peterknight.digital/docs/promptwire/v1/ Enjoy 😊
  24. @Juergen OK I'll try with the custom validation rules. Need to check how it works more deeply. Actually I have a specific case, but I often use this for several scenarios. A very simple example would be a form where user must enter the username he is using in a game (I developed a site to manage competitions in sim-racing games), and we need to verify that it's not already used by another user. If already used, invalidate the form and display an error on the username field.
  25. This is briliant, @maximus. I was just considering such a thing, so looking forward to contributing if it becomes a repo.
  26. @maximus This is awesome! I already heard from Diogo that it helped him fix something in admin.css, which we just pushed a fix far. Can you tell us more about it? For instance, do you recommend this for testing all the admin components in PW? Is this using the AdminThemeUikit default theme admin.css file? Thanks for putting it together!
  27. If you enable WebP, it creates variants for all images. However, Ryan's .htaccess code is from here: https://processwire.com/blog/posts/webp-images-and-more/#webp-image-strategies-in-processwire Doesn't rewrite GIFs, I presume this is because they can be animated. RewriteRule ^(.*?)(site/assets/files/)([0-9]+)/(.*)\.(jpe?g|png)(.*)$ /$1$2$3/$4.webp [L] Given this, it seems inefficient to create a webp variants for GIFs. Does the core have an inbuilt way to disable this, or is it by design that this isn't offered/done automatically?
  1. Load more activity
×
×
  • Create New...