All Activity
- Past hour
-
szabesz started following PageMarkdown — Export any page to Markdown
-
Useful utility indeed, thanks for sharing! Are you planning to add TinyMCE support as well? Given that CKEditor has been replaced by TinyMCE as the default RTE, on new sites I always use TinyMCE.
- Today
-
adrian started following Largest number of templates?
-
211 71 46 Keep in mind that most of these are the parent/child templates for page reference "tag" fields.
-
Hello, A small utility I built for my own workflow — export any page directly from the editor as a clean Markdown file. Useful for documentation, content migration, and feeding page content to AI tools. GitHub: https://github.com/mxmsmnv/PageMarkdown What it does: Adds an Export to Markdown button to the page edit form Smart HTML conversion — CKEditor content (tables, lists, headings, links, bold/italic) → standard Markdown Supports ProFields: Table, Combo, Repeater Matrix (with type labels and nested structure) Images and files render as Markdown image/link syntax Page references render as links or titles MapMarker, Email, URL, Color fields all handled Configurable: toggle field labels as headings, ignore lists per field/type, datetime format, empty HTML cleanup Requirements: ProcessWire 3.0+, PHP 8.0+ MIT License.
- 1 reply
-
- 1
-
-
szabesz started following Largest number of templates?
-
top 3: 42 20 12
-
PHP code isn't rendered, but referenced images are being pulled
Joachim replied to Joachim's topic in General Support
Trying that out (using $pages->get("/home/landing")->introimg_field instead of $item->introimg_field) : <?php foreach($pages->get("/home/landing")->introimg_field as $intro_image): ?> <a href="<?php echo $intro_image->page_picker->url; ?>"> <h3><?php echo $intro_image->title; ?></h3> <img src="<?php echo $intro_image->image->url; ?>" alt="<?php echo $intro_image->description; ?>"> </a> <?php endforeach; ?> It shows up in Firefox, but not in Edge. If I revert back to $item->introimg_field, it keeps working. For now. -
PHP code isn't rendered, but referenced images are being pulled
Joachim replied to Joachim's topic in General Support
Thanks Markus, and apologies for the delay. After some trial and error I got it to work one time, and hoping it was finally solved, I tried it in another browser. But it behaves exactly the same as before, even though I now refer to the specific module page. Every other module is working fine, but this one isn't. I'm wondering, could it be because its main component is a Repeater field? That perhaps while it refers to the Repeater field as $modulePage->field (where $modulePage refers to the specific module page), the different repeater fields (e.g. repeaterField->title) are still read as $page->repeaterField->title, and - since it can't find such a field on the main page - nothing gets rendered? As a side note: could the fact that wireRenderFile is delayed output explain that sometimes the module does load; that the parsing order could depend on server response time and/or load times? -
Thanks. That’s quite a volume. Appreciate the info. More soon….
-
For my management execution system web application which was built with PW, 50+ templates and another 50+ repeater fields which are technically templates.
-
45
- Yesterday
-
Peter Knight started following Largest number of templates?
-
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
-
szabesz started following PW Native Analytics — a native analytics module for ProcessWire
-
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.
- 47 replies
-
- 1
-
-
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
-
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?
-
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?
-
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.
-
@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
-
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
-
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.
-
Wow. This is incredible. Thank you for how thorough it appears to be.
- 1 reply
-
- 1
-
-
Fantastic, thanks Robin.
- Last week
-
@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.