Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by DaveP

  1. Pretty sure that's it, @Robin S. I always turn off formatting before any CRUD type operations via the API. Probably more in a cargo cult kind of a way than I should🙄.
  2. @rick Thanks for that - I'll give it a try. I'm beginning to think that either I'm remembering how to interact with image fields incorrectly or my 'photo' field, which is set to contain 1 image ('photo' not 'photos') somehow isn't respecting that setting. And therefore that the error is unconnected to the new image field template setup.
  3. The 'photo' field is all set up with a 'field-photo' template. Everything works in PW back end but setting values programmatically isn't having any. The code is like this. $page->of(false); $page->photo = 'https://example.com/img.jpg'; $page->save(); $page->photo->textfield = 'Some text'; $page->save(); $page->of(true); That's an abbreviated version.
  4. I'm interacting with an external API to download external images, saving them and some related info, using the new image custom fields. This error appears when trying to save a text field programmatically. Error: Exception: Item 'title' set to ProcessWire\Pageimages is not an allowed type Are there any gotchas I'm not aware of?
  5. Few random thoughts... Log all searches (you probably already do). This works $log->save('search',"Query = '$q' Results = ($results_count) $pages_found"); gives something like 2018-03-12 16:19:08 guest https://example.com/search/?q=taxi Query = 'taxi' Results = (3) 1170|1073|1693 2018-03-13 11:22:27 guest https://example.com/search/?q=9001 Query = '9001' Results = (1) 1021 This is valuable because it shows you what you are up against! Consider incorporating stemming (if you are working in English, at least). The best-known algo is the Porter stemming algorithm. There are PHP implementations on GitHub etc. What you could look at is for each product, hook on product save and have a back-end field programmatically populated with stemmed versions of Product Title etc., then stem search words and build that into your selectors. Also consider a back-end 'search keywords' type field, and if there's a glaring regular user mis-spelling just add that manually. This doesn't scale all that well, but can help with a quick fix. (I built a search for a fishing tackle shop site many years ago - pre-PW - and nearly as many searchers spelt 'Daiwa' as 'Diawa' as those who got it right. Easy quick fix.)
  6. Aaahh, I wasn't understanding correctly. Maybe something like this might be useful.
  7. If I understand correctly, in your $selector, use body^=$q instead of body~=$q. (Note caret instead of tilde.) See https://processwire.com/api/selectors/#operators
  8. Not yet. Let's try some stuff first. There's something going on in .htaccess, because it redirects to www.vivid.black under some circumstances. You might try renaming .htaccess to htaccess.old or some such and replace it with a new copy of the default one in the PW download, see if that changes anything.
  9. Welcome, dubiosa! Well, whatever you've got going on, it's very strange. If I visit the http URL you posted (with a full stop at the end (?)), I get the default Apache page. If I remove the full stop, it redirects to https and I get a certificate error. If I replace the full stop with a slash, I get an actual web page over https. Is the server a VPS? Is it managed or unmanaged? Is it shared hosting? As far as I can see, it's likely to be either a server misconfiguration (Apache etc.) or your .htaccess, or a bit of both. Tell us a bit more and we'll try to help.
  10. Very occasionally you'll come across a deprecated/removed PHP function in a very old module written for PHP 5.3 or 5.4 (what's the earliest version PW worked with years ago?) if you're now using, say, PHP 7.2. Even that kind of thing can be relatively easily Googled, or I'm sure someone on here could help with a specific problem of that kind.
  11. Ok, this should work $image = $child->images->first->width(500); $out .= '<img src="'.$image->url.'">'; See http://cheatsheet.processwire.com/files/image-properties-in-addition-to-those-in-file/image-width/
  12. Just a guess, but try $out .= '<img src="'.$image->width(500)->url.'">'; because I think your version is trying to change the width of the url.
  13. Know exactly what you mean! I had something similar a couple of years ago and did find a kinda solution, but was never happy with it. Just hope I remember about this next time the need arises.
  14. ...and if you need a break from reading, take a look at this if you haven't seen it already. It's a very old video that Ryan did for PW 2, but very much recognisable even now. It covers some of the content management aspects of the PW backend.
  15. Hi, and welcome. The answer to your question is 'Well, yes, probably.' Give us a bit more of an idea of what you are trying to do and we will try for a more detailed answer.
  16. Update re previous post Following on from a bit more testing, I have forked the Indexer module mentioned above and started a new thread...
  17. Following on from my discoveries mentioned here, I have forked the Indexer Module referred to. Couple of reasons for this - Contrary to my thinking at the time of writing the post linked above, there was a deprecated/removed function in one of the files used. (Absolutely no idea why that wasn't apparent originally - must have been some code that isn't always called.) The module was set up to use executable parsers on the server for preference and only included a PHP parser for PDFs, not .doc, .docx etc word processor files. This is probably not optimal for shared hosting use as including your own executables is rarely, if ever, an option. The fork's repository is at https://github.com/DBPreston/Processwire-site-indexer. I have fixed the error due to use of split(), which was removed from PHP 7.0, and added a .doc parser so that it will now parse word processor files as well as PDFs and updated the module config page to reflect that. In the small amount of testing I have done so far, it seems to be working. Neither parser is perfect and the whole mode of operation of the module (adding a 'keywords' field to every page) may not be perfect for every use case, but it is certainly very useful in some instances. I should be very grateful if anyone has the time to give it some further testing, forking, pull requests etc.
  18. Further to this, it turns out that http://modules.processwire.com/modules/indexer/ can (and does) index PDFs, and although it was created in 2013 and only claims compatibility up to PW 2.4, it still works. (tested on PW 3.0.84) <edit class='bit-more-info'> Not only does it still work, but it works brilliantly. No errors, no warnings, and this is with PHP 7.1! All on default settings, just check 'Use built-in PHP class?'. </edit>
  19. https://cse.google.com/cse/publicurl?cx=014789015761400632609:fxrf0rj4wr4 FTW
  20. Dunno if it's still valid (long time ago), but this thread might be relevant
  • Create New...