Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/10/2024 in all areas

  1. Virtualization is "natively" built into macOS from Monterey an up, so using that provides developers solid support for virtualization without reinventing the wheel. Even a single Mac enthusiast, developer and tech article writer like Dr. Howard Oakley is able to do it: Liviable for running Linux: https://eclecticlight.co/2024/01/01/virtualise-linux-on-apple-silicon-with-liviable-beta-4/ Viable for running (yet another) macOS: https://eclecticlight.co/virtualisation-on-apple-silicon/ His apps provide general virtual machines for free.
    2 points
  2. I use OrbStack but unfortunately it's the only thing I've ever used as a Docker provider so I can't draw a comparison with regular Docker lol. All I can say it's been fast and hassle free.
    2 points
  3. Possible UI/UX improvement. Quite often I work with large amounts of fields and templates grouped by various tags. It would be nice to show these tags as the second menu level, and add a third with the actual fields and templates grouped. Perhaps this could be a $config option? The dropdown menu for fields can extended page height which is hard to scan read, and select the appropriate field / template sometimes.
    1 point
  4. @MarkE there’s this module I made some time ago https://processwire.com/modules/tags-to-folders/ with one of the latest updates being having the system fields/templates in their own submenu. I could add an option to hide them so I’m taking your question as a feature request ?
    1 point
  5. When moving out / back in the files did you make sure you moved the .htaccess (the one in the PW’s root directory) file as well? You can easily forget about it as it can be hidden by default.
    1 point
  6. Hello everyone, Among other interesting projects listed in the December 2023 PhpStorm blog newsletter, I found these particularly interesting: human-readable regular expressions for PHP PHP Dictionary OrbStack (macOS only, free for non-commercial purposes only) Happy coding ;)
    1 point
  7. Hello @Flashmaster82 The new update could be interesting for you: https://processwire.com/talk/topic/26015-frontendforms-a-module-for-creating-and-validating-forms-on-the-frontend/?do=findComment&comment=238354 This update includes a new method for redirecting after form submission in an easy way. Use the setRedirectURL() method $form->setRedirectURL('www.google.com'); // enter the redirect URL inside the parenthesis This will redirect to another page/URL after successful form submission. No more need to add the redirect inside the isValid() method. Best regards
    1 point
  8. Update 2.1.56 This update comes with 2 fixes and 2 new methods. Missing declaration for property $toplabel of type Textelement inside InputCheckboxMultiple.php added Change CAPTCHA label for CAPTCHA validation message to fit better - PLEASE UPDATE YOUR LANGUAGE FILE FOR THE NEW TRANSLATION New method setRedirectURL() added: This method forces a redirect after the form has been validated and the code between the isValid() condition has been executed. This can be used to redirect fe to a "Thank you" page after a contact form has been submitted (read more). It does not matter in this case if you are submitting the form via Ajax or not. Therefore the old setRedirectWithAjax() method is no longer needed (but still works) New alias method useAjax() added: This method is an alias method for the existiting setSubmitWithAjax() method. The old method forces a form submission via Ajax. The name of the old method is too long, so I decided to create a method with a better and shorter name. So the old method still works, but for the future it will be better to use the new useAjax() method instead (read more). As always, please check if everything is working fine after the update!!
    1 point
  9. Hi @François Lacruche, Just move the processwire-master out of the webroot folder of https://www.domain-name.com. Then move EVERYTHING inside the processwire-master folder to the webroot folder of https://www.domain-name.com. This should work. Gideon
    1 point
  10. Welp, that second one is a weird one... I went out of my way to try and make sure that was handled- it works on the TinyMCE and CKEditor fields, didn't notice the other fields were affected. I'll have to chew on that for a minute since it's a relationship between JS and the browser's acknowledgement that something has changed. Searching for that specific info is harder than I thought it would be. If anyone has any info they'd like to throw out there on this, would surely appreciate it. I misread this entirely and my code was at fault. Information on fix in reply below. As for the first request, how about this? Config page now has the option to choose "Both" for the translation action. Second button only shows up on non-default language tabs. Download it on the Dev branch and let me know if that works for you!
    1 point
  11. There is nothing wrong with your redirect, but in your case a better place for the redirect would be only after the mail has been sent (inside the if condition): if($m->send()){ wire('session')->redirect(wire('config')->urls->root . 'forfragan-skickades/'); } I have tested it on my site with a redirect to another page -> works without problems. There must be another problem with your system. Sometimes ProcessWire does unconventional things and struggles even all codes are OK. Closing the browser completely to delete all sessions would help in most cases (Reset). I have struggled sometimes with those problems during development of modules, where I am changing code, got errors and afterwards ProcessWire was a little bit out of control. Reseting it by closing and opening again is sometimes the best way. I am pretty sure that this was not the problem. My guess: Either it was the system problem as described above or you had a misspelling of your receiver email address (not the from address)
    1 point
  12. Another vote for a page multiselect, with a label format of "{parent.title}: {title}" and a sort of "parent.title, title" to make things easy to see in the backend. As for grouping by sections, this might perhaps help you:
    1 point
  13. Before I switched to PW, I worked with a german CMS (Contao). It stores all media in the classical way in an upload folder. I'm still managing such Contao websites, some of them are meanwhile about 10 years old. e.g. among them is a Contao website with a lot of PDFs, that are updating every 3 or 4 months. I'm trying to organize them in subfolders, but meanwhile it's getting messy. And this is where PW is really useful. Looking back on my website projects, I must say, that the PW file-concept was for most clients a better solution. Some of them worked before with Contao and they appreciated the upload fields in the PW backend. If there is a need for reusing the same image on different places, PW offers some solutions. Recently I purchased this: https://mediamanager.kongondo.com HAPPY NEW YEAR!
    1 point
  14. I get that the gist of this thread is "WP bad", but to be fair I've ran relatively often into the opposite issue in ProcessWire: an image or file that should've been uploaded once and then reused is instead uploaded to a whole bunch of separate pages, using loads of unnecessary disk space. ProcessWire doesn't by itself create a lot of unnecessary variations, but it is not uncommon occurrence either: years of code changes combined with badly configured image fields (no limit for image dimensions) can lead to major disk bloat. Worse yet is when someone decides that a file/image that is separately uploaded all around the place now needs to be updated everywhere. Oh the joy! Long story short: there are cases for and against both central media/asset management and page based media/asset management, neither are perfect. Now what is indeed suboptimal is the way WordPress handles variations: they need to be globally registered, are created on upload (whether you need them or not), and won't be (re)created automatically if registered or changed later. This can absolutely lead to unnecessary disk usage, and on the other hand means that you may not have the variation you were looking for available, or it may not be what you expected it to be. But again, each approach/architecture has upsides and downsides ? -- By the way, I'm not generally against bashing [insert a CMS or any other product here] or venting frustrations about it, but I do think we should try to be fair. WP gets a lot of bad rep for a good reason, there are definitely issues and shortcomings, but it also gets blamed for legacy/aging custom (site/theme specific) code, overuse of third party plugins, outdated third party plugins, etc. None of these are core issues, and it's not really fair to blame them on WP ?
    1 point
  15. Hi all, Here is one of the latest website we created for a french company renting construction machines and trucks with specialized drivers, based in Le Mans. It’s a rather simple showcase/informational website, but we aimed at making clear (and visually attractive) what is available, what is the skillset and various ways to quickly get in touch. We produced everything, from the design, pictures, illustrations down to the development (ofc). There wasn’t any website before except for social media presence and this task was a follow-up to the update of the visual identity we did. Behind the scene, on the front-end, everything is custom made: we don’t use any frameworks. On the back-end we used the usual suspects and some: TracyDebugger ❤️ FormBuilder ProCache ProFields (RepeaterMatrix, Table) Dynamic options / Select images Our own flavor of “components” Thanks for having a look!
    1 point
  16. I had the same problem today. I can confirm that the solution above works. Just add $config->dbCharset = 'utf8mb4'; to the config.php file in the site folder. My DB collate is set on utf8mb4_general_ci and it works perfectly. I can past emoji character in a TinyMCE field. Thank you @Raymond Geerts
    1 point
  17. Sounds like you could use LazyCron here. Check your pages how often you want (daily, weekly, each hour), look for those pages and do what ever you want to do with them. Put things like this in ready.php or create a module: <?php namespace ProcessWire; wire()->addHookAfter('LazyCron::every6Hours', function (HookEvent $e) { $pagesOlderThirtyDays = $e->pages->findMany("template=order, ... "); foreach ($pagesOlderThirtyDays as $potd) { // WHATEVER YOU WANT }; });
    1 point
  18. You can use : getLanguageValue($language->id, 'url') or $page->localHttpUrl($language->id); or $page->localUrl($language->id); for get language values Example usage for get all urls for all languages: <?php $getLanguageValues = ""; $localHttpUrls = ""; foreach($languages as $language) { $getLanguageValues .= $page->getLanguageValue($language->id, 'url') . "<br />"; $localHttpUrls .= $page->localHttpUrl($language->id) . "<br />"; } echo "getLanguageValue() => " . $getLanguageValues; echo "localHttpUrl() => " . $localHttpUrls; ?>
    1 point
×
×
  • Create New...