Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 12/29/2016 in all areas

  1. I am glad to present our recent website. It was made, of course, with Processwire and this is the first time we use this CMS in our company. The website (in French only) is aimed to gather ski results from four youth ski clubs (our clients). The administrators needed something easy to use and be able to import XML ski results after a race. Those results are divided between ages (four categories, girls and boys), each ski category having its own rules for distribute points and ranking. The administrators wanted also a place where representatives of each club could post photos (elite team only). Processwire was the perfect candidate for this site which is fully mobile. Race calendar and results (click on this archived season to see the whole process since the present season has not yet begun as the writing of this post.) Annual ranking Documents (use of hanna code to place and identify type of document) Photo albums Elite clubs
    7 points
  2. No, this is not needed, because the method redirect() calls "exit(0);" at the end. See class: https://github.com/processwire/processwire/blob/master/wire/core/Session.php Docs: https://processwire.com/api/ref/session/redirect/
    7 points
  3. TextformatterTypographer ⚠️ Archived: This module is archived. Feel free to fork it if you would like to take it over. A ProcessWire wrapper for the awesome PHP Typography class, originally authored by KINGdesk LLC and enhanced by Peter Putzer in wp-Typography. Like Smartypants, it supercharges text fields with enhanced typography and typesetting, such as smart quotations, hyphenation in 59 languages, ellipses, copyright-, trade-, and service-marks, math symbols, and more. It's based on the PHP-Typography library found over at wp-Typography, which is more frequently updated and feature rich that its original by KINGdesk LLC. The module itself is fully configurable. I haven't done extensive testing, but there is nothing complex about this, and so I only envisage a typographical bug here and there, if any.
    4 points
  4. * updated : PhpMailer 5.2.21
    3 points
  5. Thanks @szabesz - I really appreciate everyone's positive feedback and support for this module - glad it's been useful for everyone! Good luck with your new project.
    2 points
  6. Nice design! It takes time to download the assets though. I noticed that tiny icons and logos are around 600-700kb each, why is that? Say album-arrow.png is 636kb, but after I have optimized it, it is down to 300 bytes only. This is just one example, there are lots of others.
    2 points
  7. A few more updates to mention. 1) Tracy now correctly reports warnings/notices coming from PW's file/image AJAX uploads For those following the thread on CustomUploadNames and on Github, not only did Ryan make some changes in the PW core to make this work, but David Grudl over at Nette also added a workaround that now allows Tracy to report errors from vanilla JS ajax calls, even if they don't call xhr.getAllResponseHeaders(); which should help with debugging your own vanilla js ajax calls as well. 2) Easy toggle for Strict Mode Not sure how many of you have played with the Strict Mode config setting. It turns notices and warnings into errors and shows a full expandable stack trace. For example, here is the above notice in Strict Mode. Clicking on the "source" and "arguments" on the entries further down the call stack can be very helpful! This is great, especially for AJAX notices/warnings which are often harder to dig into. The catch has always been that Strict Mode will halt your scripts for these notices/warnings, which can often be painful when you are early into something complex and just want to get it working before dealing with these. Now on the Panel Selector panel the new toggle button makes it easy to turn on Strict Mode when needed (note this is only available if Strict Mode is off in the module config settings): 3) Time and memory of Console Panel code I recently added time and memory of the code run in the console panel. Note the 11.59ms and 0.07MB at the bottom of the output. This could be very handy if you want to test the performance of different selectors or loops. Hope you guys find these new additions useful!
    2 points
  8. Historically w3techs has been tracking this stuff the longest as far as I can tell, and their information is updated often. They show ProcessWire nearing in on the 0.1% market share threshold (only 2 spots away from the 0.1%+ table). The info on this page below is interesting. The entire page is sorted by market share (highest to lowest). It shows a lot of CMSs ahead of us, but a lot more below us in market share, including some fairly recognizable ones. https://w3techs.com/technologies/overview/content_management/all
    2 points
  9. Ryan just added those xhr.getAllResponseHeaders() calls to the dev branch! Keep in mind that Tracy will still remove warning/notices from the AJAX response, so uploads won't be stalled but now you'll at least be notified about the problem.
    2 points
  10. Or you could have new child pages automatically added to the page table field: Be sure to read the comment two posts lower which mentions a bug and a fix.
    2 points
  11. Yes. A simple way would be hooking into ProcessPageListActions::getActions in your site/ready.php: wire()->addHookAfter("ProcessPageListActions::getActions", null, "removeNewAction"); function removeNewAction(HookEvent $event) { $page = $event->arguments(0); if($page->template == "blog") { $actions = $event->return; unset($actions['new']); $event->return = $actions; } }
    2 points
  12. Works fine for me in an auto-load module in ProcessWire 3.0.42 using the code below. All fields are saved correctly, both page and non-page fields. public function init() { $this->pages->addHookBefore("FieldtypeMulti::savePageField", $this, "hookBefore"); } public function hookBefore(HookEvent $event) { $page = $event->arguments[0]; $this->newPage($page);// calls method to create new page $this->message("we hooked into page with id: {$page->id}"); } public function newPage($parent) { $p = new Page(); $p->template = 'basic-page'; $p->parent = $parent; $p->title = 'Test Child Page'; $p->save(); }
    2 points
  13. For simple cropping I use Pia. No need to invoke Pim. Pia has the advantage that she lets you very simple define what you need and she uses all the available ImagerenderingEngines. She isn't bound to GD-lib only, as she only delegates your wishes to the core image engine.
    2 points
  14. I noticed that although there's an InputfieldSelect module, there wasn't a FieldtypeSelect that would produce a drop down list (via a "select" input) that would allow you to define a list of options in the field's configuration. (Somewhere in this forum, I saw that the "Page" fieldtype was suggested to do this - and it works - but it didn't seem as easy as it should be.) So, I went ahead and created a module to do it! After installing, you'll have a new "Select" fieldtype that will allow you to define the items you'd like in the drop down. You'll be able to define these options in a text box on the field's configuration screen. Just put each option on it's own line. Hope this helps someone out! Let me know if you experience any issues with it, find any bugs or if you have some ideas on improvement. EDIT: The module is now on github: https://github.com/Hani79/Processwire_FieldType_Select_Drop_Down (Thanks for the prompt to put it up there, Soma.)
    1 point
  15. I've never had a blog before - and it's about time I had one now: blog.rockett.pw Introductory post: https://blog.rockett.pw/posts/first ?
    1 point
  16. While this is a reasonable way of structuring things, it's not a case I'll cover with the module. But that's why I made getPageMediaLibraries hookable. You don't need to modify the original module code, just add a hook in site/ready.php and change the return value there. wire()->addHookAfter("MediaLibrary::getPageMediaLibraries", null, "myCustomGetLibraries"); function myCustomGetLibraries(HookEvent $event) { $event->return = wire('pages')->find("template=MediaLibrary"); }
    1 point
  17. Yes, definitely We cannot thank you enough for this module, but at least we need to try! Anyway, the even stronger support of ajax debugging came just the right time for me, as I am about to start a new project utilizing lots of ajax magic.
    1 point
  18. I usually do it this way: if(count($match->pic)){// if pic is the fieldname and more than one image is allowed $resized = $match->pic->first->size(100,0);// if the image has to be smaller than original echo "<img src='$resized->url' width='100' alt=' '>"; } if pic has more than one image allowed in max filers setting
    1 point
  19. Where do you define $pic ? Is "pic" the name of your images field? In this case you would want $match->pic->url Also, check the max files setting of that field. If it's not "1", then it will return an array of images and you'll need: $match->pic->first()->url
    1 point
  20. Also, is there a standardised "Powered by Processwire" button or link anywhere I could use?
    1 point
  21. Apologies if it was mentioned before here (I speed read through the contents), but what about making certain plugins like Wapplyzer and similar tools easier to detect that the site is running Processwire rather than JQuery + Apache (or Ngnix). I've just tested it on our site and that's what it returns. As a web dev newbie, I'm always interested to see the technology stack of sites I visit so I rely on tools like Wapplyzer to give me an approximation. Word of mouth is good, but also is piquing curiosity amongst the dev crowd? I guess you'll need to contact the authors of these tools and see if they're willing to cooperate ...
    1 point
  22. @horst - I knew there was another one, and I have seen this before! Haha! Anyways, I've already implemented AvbImage, and so I'll stick to that for my blog. I'll be sure to give Pia a try on one of my upcoming sites that doesn't need many manipulation features. ?
    1 point
  23. Welcome to PW and the forums @webhoes, I didn't go through your whole code but noticed this: if (waves = 0)//....... That's not a comparison but an assignment. Should be if (waves == 0)//.... // or....depending on your needs if (waves === 0) //... Other than that, you might want to separate the PHP from JavaScript. E.g. for the checked input..., in a foreach loop, assign a CSS class, e.g. 'checked-input' and use that to find elements that are checked.
    1 point
  24. Christmas stockings are where you find the small gifts, while the big stuff goes wrapped up under the tree. Yet, looking back, it often seems like some of the most useful stuff ends up in those stockings… Swiss army knifes, digital tire gauges, flash drives, and so on. This week, the big stuff is between you and Santa, but what we do have are lots of useful stocking stuffers for you to enjoy in ProcessWire 3.0.46! https://processwire.com/blog/posts/pw-3.0.46-stocking-stuffers/
    1 point
  25. Merry Xmas Ryan and to all the PW community. Back in the day, I started collecting a wealth of knowledge on BB's and then to more recent forums here and there... and never have I been so welcomed and helped by this community since the Matrox forums... it really is a family here and I wish everyone a happy holiday!
    1 point
  26. Merry Christmas from me to you and your family too Ryan, and to everybody else in the fabulous PW community. The updates over this year were really brilliant and I find myself using a lot of them already. The ProDrafts workflow feature is just the thing I was looking for and it's coming at the perfect time.
    1 point
  27. Merry Xmas to you and your family Ryan! Every week of the year you're kind of our Santa Claus P.s. = Does every update of this new release apply for the 2.8.x branch too?
    1 point
  28. I may be alone with this but I feel more productive without CSS frameworks. A small grid is OK but the rest is better to be custom. There is always something I need differently done and then the framework only hinders me.
    1 point
  29. The ImportPagesCSV module does not include a permission in the getModuleInfo() method, so you would need to edit the module file to add one. Bear in mind that this would be overwritten if you later update the module. public static function getModuleInfo() { return array( 'title' => 'Import Pages from CSV', 'version' => 106, 'summary' => 'Import CSV files to create ProcessWire pages.', 'singular' => true, 'autoload' => false, 'permission' => 'import-csv', ); } Refresh the module cache, create custom permission 'import-csv' and give that permission to any role that is allowed to use the module.
    1 point
  30. I think this is now fixed. Following this thread: https://processwire.com/talk/topic/1002-cant-upload-imagefiles-problem/ I created /site/assest/uploads which didn't previously exist and then added this line to /site/config.php immediately below the debug line $config->uploadTmpDir = dirname(__FILE__) . '/assets/uploads/'; It seems the temp upload directory was either not set or not writable. Hope this helps someone.
    1 point
  31. The notices system actually doesn't have anything to do with jQuery UI other than that the default admin theme makes use of jQuery UI class names when generating the markup for notices. But for your own front-end, you can make use of the $notices API variable to output them however you want. It can be as simple as this: echo "<ul>"; foreach($notices as $notice) { $class = $notice->className(); $text = $sanitizer->entities($notice->text); echo "<li class='$class'>$text</li>"; } echo "</ul>"; Then you would want to style the two type of notices in your CSS: .NoticeMessage { color: green; } .NoticeError { color: red; }
    1 point
  32. Ryan, I am all for white hat, but I know of sites that never did anything at all with link building, only focused on the best content on their topic, yet on april 24th last year many of those totally white hat sites also got totally floored, after the dust settled and it became clear what to investigate, and figure out the specific april 24 update, we ran backlink profiles on sites that had NO backlinks built to it that were not purely organic, in other words these backlinks just pointed to the site because other people just for whatever reason decided to link to the site. BUT the anchor texts just used one basic term tyoo often to g's liking. The back link profile apparantly incurred an algorithmic penalty. And the traffic went down the drain... And the other example I gave was because a company who built themes, thought it smart to have all these themes come standard with a link pointing back to the makers of it. I have come to grow into the conviction that it is not about white or black hat, there is something else going on here. It is about freedom, and about one big monopolithic party sending out bots sniffing everybody's sites and ripping all that content and throwing it into a database and then manipulating the database to present search results. And they make a living showing clickable ads on top and to the sides. All fine and dandy, play by the book, but the book now shows that if you get too many people linking back to your site with the anchore text processwire, the day may come that big ole g will just refuse to show your site even for our very own name. Don't ask if this will happen; it happened before and it still happens. So Ryan, if you are in for the long haul, and I hope and trust you are, imo you must guard and protect also your long term search results. And if you start asking for attribution links, you do well to realise you could be setting yourself up for consequential damage. And that would not be nice especially if it can be prevented. Now if you would have a module that does this, why would that be anymore white or black hat than asking for a link back to show what drives the site? Here's how I think about it more and more: I love my freedom, freedom to build sites with great content. And I respect g's freedom to sniff my sites and many other sites. And if based on what the g-bot finds it decides to put my site on top, more power to them. Ryan, you asked: "Would you install this on your sites knowing that the purpose of it was to come up with random variations on keywords to boost pagerank for processwire.com? :)" First of all, this is not about page rank, it is about showing up in the search results. Second: here's my reply question to you: do you Ryan, founder and bright mind behind processwire, want to totally hand over your search results future to an outside entity that is driven by bottom lines and will and does use algorythms to do stuff that can easily incur penalties to your bottom line? BTW, fine either way with me, I just wanted to chime in and add my 2 cents seeing you are treading dangerous waters if asking for backlinks, without controlling things that can do damage. Great CMF btw, I am loving it more and more!
    1 point
×
×
  • Create New...