Jump to content

Guy Incognito

  • Posts

  • Joined

  • Last visited

Everything posted by Guy Incognito

  1. Late response I know, the recent message triggered the notification for this thread!... But I don't think you need a hook for this. The new version of this MarkupSEO allows you to set up automatic field inheritance for empty fields. E.g. so meta title is auto populated by page title.
  2. Thanks @BrendonKoz this is useful to know/have. The reason I create the little module above is because we were told that Google's own widget version was going to be completely removed and that the deadline for this was only extended due to Covid. We had a few sites reliant on it, so wanted a fall back. It will be interesting to see whether the original widget stops working on not.
  3. I created a simple translation module for a project we're currently working on and I thought I would share it in case it's useful for anyone else as it's a request we've come across a few times recently. It's a basic page translation module using Google Translate to replace their now retired embeddable page translation widget. The module outputs a simple, un-styled, dropdown language selector that routes the visitor to a translated version of the current page via translate.google.com. From there you can then navigate the whole site in the your language of choice. There's also a method to output a single language-specific translation URL for any supported language using the language ISO code. Download, usage and supported language list available on my Github here: https://github.com/mrjcgoodwin/MarkupGoogleTranslate Caveat 1: Google seem to be trying to encourage use of their Google Translation API, so the continued working of this module is completely at their mercy - I can imagine they may discourage this usage at some point, but who knows! Caveat 2: I haven't yet deciphered what all the parameters are used for in the constructed Google Translate URL. It's possible there may be some sites/scenarios where the URL doesn't work. Feel free to report if you find any issues.
  4. Ah brilliant thanks - think this is what I was thinking of 😊. Nothing against php arrays either, in my mind I was thinking of JSON for some reason. Although I’m considering a workflow that has gulp in it anyway, so json may be involved at some point.
  5. Thanks - but I don’t think that’s the one. I think it was in one of the newsletters discussing dev branch updates. It was more along the lines of creating new templates using a text or json file to define the fields. Had some ideas around experimenting with this in our workflow… but now seriously beginning to wonder if I dreamed it 🤣🤣🤣
  6. I think I saw post on here or an article in the newsletter about a forthcoming feature for defining/importing templates using a JSON file… or did I completely imagine this?! 😅 If it’s real I can’t find the info anywhere!
  7. Hi @Gadgetto - just wondering if you have or are thinking of doing any more work on the V3 support for your module?
  8. We also use the Keyword field more as a reminder of keywords we're targeting a particular page at - especially as most search engines ignore this data anyway.
  9. I haven't had a chance to dig into it yet but according to a recent weekly PW newsletter it's a new module @bernhard is working on: https://github.com/baumrock/RockSeo
  10. Thanks 😊. I will check out RockSEO. The thing that has kept us on MarkupSEO to date is the simplicity for implementation and also for clients. Combined with the changes you’ve made previously it’s pretty effective at doing what it needs to. I’ll have a think if there’s anything else that can be done to improve it further.
  11. Hi all, Not sure if if everyone has jumped to SeoMaestro these days but I'm still fond of MarkupSeo and it's still live in many of our sites so I've made a few small but important tweaks based on real world usage. @adrian I've just made a pull request with these changes to your fixes branch in case others find these changes useful: Stopped canonical links from being able to inherit from parent pages: Inherited canonical links could cause problems with search engine indexing whereby you're inadvertently telling Google your new page is the same as another purely because you (or a client) missed the canonical field. So I think it is better for the default to be current page URL if the field is left blank rather than inherit the parent. Implemented handling of relative URLs in the canonical field: You can now use relative URLs in the canonical field for internal links. They will still render on the front end as SEO-friendly absolute URLs, but this way it is easier if you use different domains for testing or if you need to change the site domain. (https://github.com/mrjcgoodwin/MarkupSEO/tree/various-fixes-enhancements)
  12. @Krlos I agree with @bernhard - more detail is required on your constraints to really advise. However we've built a number of data-driven sites using PW in this way and I would say putting all pages of a specific type under one parent is my preferred approach vs nesting in multiple sub-folders. It's also more like a regular database table). You can then just use selectors to filter the output and it makes more sense if you have entities that might apply to multiple parents. E.g. a staff member that works at multiple locations. For those maintaining the site/data you can make it easy on them by configuring the 'family' tab for each template. So for instance, only a 'hotel' can be added as a child of 'hotels'. When an editor wants to add a new hotel they can't then accidentally use the wrong template, or put it in the wrong place. Finding an existing hotel to edit is as simple as tapping the name into the default PW search box.
  13. Yes - Formbuilder has the option to output each form in adherence with a number of popular frontend frameworks - bootstrap included (see screengrab below). There's also a number of embedding options which include the option to completely customise/control the code output so you should be covered from this angle too. Out of curiosity, what are the shortcomings of the default comments you are looking to overcoming. If it's just styling/presentation couldn't you just modify the markup for this instead?
  14. @Goca Are you using a cookie consent management tool by any chance? This potentially could mess with Processwire's cookies if not configured correctly.
  15. Hi all, Can anyone confirm 100% does ProDrafts work with repeater fields? The pro module store page says not, but this update from @ryan says it was added in 2017 - just want to be sure before buying it for a specific repeater-heavy site. TIA 🙂
  16. I had a typo - missed a '/' off the end of my fields path 🙈 I'll see myself out 🤣
  17. I'm in the process using PW multisite configuration to centralise a family of sites that will be identical aside from content. I'm trying to create a shared folder for the main site templates and modules. It's all working fine so far but I can't get ProFields Repeater Matrix to play nice. I have my paths set up as follows in config: $config->paths->templates = $config->paths->root . 'shared/templates/'; $config->urls->templates = $config->urls->root . 'shared/templates/'; $config->paths->fieldTemplates = $config->paths->root . 'shared/templates/fields'; $config->urls->fieldTemplates = $config->urls->root . 'shared/templates/fields'; $config->paths->siteModules = $config->paths->root . 'shared/modules/'; $config->urls->siteModules = $config->urls->root . 'shared/modules/'; But the repeater matrix doesn't seem to be picking up the customer templates located in /shared/templates/fields In the template I have the usual: echo $page->render('page_blocks'); ?> But all I'm getting is a bullet point list of matrix block ID's. It's not rendering using the templates. I can force the path of page->render to use the shared folder ($config->paths->fieldTemplates.'/page_blocks.php), but then it just outputs a blank page - as if it's not finding the sub templates. Any ideas? 🙏
  18. Super excited about the e-commerce projects hopefully becoming ProcessWire shaped!
  19. And on that basis you can signpost people too. So before you allow free type they might have to indicate an initial route by clicking a button - e.g. Do you want a) Report a problem b) Pay a bill etc etc.... "Now tell us which service you want to pay a bill for"...(free type and match). Might help limit the terms they throw at it.
  20. Update.... not 100% sure I'm not overlooking something simple, but I think this may be a bug and have submitted it on GitHub. https://github.com/processwire/processwire-issues/issues/1468
  21. This is a cool idea. And with a JS frontend onto the PW API it would still have a pretty chatesque UX. Plus using PW operators for the page selectors you could probably fuzzy match free-typed enquiries quite well too.
  22. I'm trying to build a search selector that includes a checkbox multiple option field (clinicdetails_specialisms). The whole selector works fine if I don't include the checkbox field. With it included I get errors like "Error: Exception: SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters (in wire/core/PageFinder.php line 627)". This is the selector as it currently stands. subscription_status=active,(template=user,clinicdetails_description|clinicdetails_short_description|clinicdetails_clinic_name|clinicdetails_first_name|clinicdetails_last_name*=$query),(clinicdetails_specialisms.title=$query) I've also tried setting the specialisms field in one string rather than groups and have also tried with/without the '.title' property. Oddly the selector works if specialisms is the only field being searched. It seems to fail when mixed with other selectors. Can anyone advise what stupid mistake I'm making!
  23. Could you perhaps solve this by populating your page’s open graph (OG) tags with specific URLs rather then letting them auto populate from the actual link and then using URL segments or parameters to differentiate between real/spider visitors. I think by populating OG tags it will tell fb where to pull the thumbnail, description etc from even if the human visitor has to go through the verification gateway first.
  • Create New...