Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Outward

  1. Thanks, I had to check whether I'd ever tried this! Turned out I had, unfortunately it doesn't stop saves being made from the API or front-end, so I think I need to look towards hooks to disabling the key functions like adding, saving and trashing pages.
  2. Hey everyone, I'm looking for advice from anyone who might have built a demo site using ProcessWire with user login. I have a site that's accessible only via login, and I'd like to create a demo for them to browse around. Everything happens in the front-end, so users are already locked out of the admin panel. It uses the API for just about everything in terms of creating/updating/trashing pages. My idea is as follows: Use the users session info to create a user account and pre-fill login data. Let them log-in any browse around, but not make any new/save/trash page actions After 60 mins, run a lazy cron that will delete their temporary account I'm struggling on point #2 and whether there's hooks or similar I might use. Of course I don't want to show errors, so ideally I would define a pop-up via hook to say for example 'Saving is disabled for this demo'. I think I could manage that if I knew what I was targeting! Has anyone done similar? I know the Skyscrapers site disables saving for example. Thank you!
  3. Brilliant talk Bernhard - I picked it up through the PW Weekly over the weekend. You're a great spokesperson for PW on the whole and of course very talented - I use your modules like RockAwesome and RockMailLogger on just about every PW instance. Now I need to learn more about Latte!
  4. @ID Studio Web Agency The whole concept used across the site is beautifully executed. Kudos!
  5. Fantastic work Jonathan, you should be very proud of this project!
  6. I'm looking forward to using your module Bernhard. I have written an application in ProcessWire over the past year, and 3 months into development I started kicking myself for not starting from a multi-site perspective. Now with this I can see a solid workflow for migrations whilst benefiting from keeping users locked in their own instances. Having now read the docs I'm keen to try it out with a single new feature that will require several templates, fields and pages!
  7. I really like your implementation of ingredients as pages, as well as the structure of your recipe template - I've not yet brought RepeaterMatrix into my workflow but now feel I may have wasted a lot of time not doing so! You mentioned a little about SEO text and the first thing that struck me when browsing the recipes is that unlike most recipe blogs the ingredients and recipe is the priority. So many food blogs force you to scroll through walls of text to get to the recipe. I understand it's for SEO, reducing bounce rate and creative writing - but most don't even provide an anchor to the recipe! Great work and I imagine you had a lot of fun building it.
  8. Hello, I've been adapting Soma's great Page Edit Soft Lock module for a project that keeps trusted users editing in the front-end. This works great for the Dialogue editor as it hooks to 'ProcessPageEdit::execute', as in the example below: As well as the dialogue editor, I use inline editing for several CKEditor fields, e.g.: <div edit="events"> <!-- code to output events --> </div> Is there any way to hook into inline editing? Thanks!
  9. This module is 8 years old and it still works beautifully. Kudos Soma!
  10. Thanks for the module PWaddict, very useful for my current use case. I'm building a site with numerous roles, none of which have access to the admin panel as everything is done through the API and front-end editing. I had to enable view access for some templates, so the only 'look-in' to the top level page tree is through a trusted user adding a link in CKEditor fields. It's nice to have a module that focuses simply on the main page tree, so I can still define page reference fields for hidden templates where the role still has view access, and they display fine.
  11. If I'm reading this right, you can do this by creating a page reference and specifying "template=repeater_yourfield". You should be fine in terms of access, but you will want to test using their role if they aren't superusers. If the select box is blank for the user you can use a custom find for the page reference and add 'include=all' or check permissions.
  12. Hello all, I'm having an issue with allowing front-end edit of Users for a non-superuser role. It's an 'administrator' role with most permissions, however it's locked out of the administration panel (aside from through modals and ajax). I've created the appropriate permissions for the user to edit users (under specific roles). If I turn off the redirect out of the admin, the user can view and modify users, yet the edit modal does not open in the front-end. This isn't an issue for the Superuser, and the modal opens fine. Anyone had this issue? Thanks! Edit: On further inspection, I can even access the modal directly in the browser at a URL like the one below: /admin/access/users/edit/?id=1040&fields=display_name,email,user_inactive,photo,bio,location,user_phone&modal=1 It seems the front-end modal just will not trigger, can't see anything in the console either.
  13. This is a fun, simple project I built over the holidays and really goes back to what initially drew me to ProcessWire several years ago after being inspired by Ryan's Skyscrapers Demo. Backwards Compatible allows searching and browsing by various performance related tags and game pages display detailed data on each title. List of modules used: Import Pages by CSV - Essential for this kind of site, the vast majority of data was imported in one CSV upload Procache - Invaluable after an influx of 650k page views in 6 days(!) Form Builder - A simple implementation for monitored page updates and YT video submissions Soma's AjaxSearch Mike Rockett's Sitemap Additional styles/scripts: Bootstrap Grid only for CSS Fancybox.js Tippy.js Commento
  14. Thanks for a great module Teppo. I don't suppose anyone has had success recording version control changes with front-end inline editing? I'm using inline editing on a personal project with just one specific field which is a large textarea (the rest use dialogue editor - works great). Edit: Silly me, Version Control changes are indeed recorded with in-line editing. The field is within a repeater, so the front-end editor only saves changes to the repeater ID. It's still saved to the appropriate Version Control database tables.
  15. Are you using PHP 7 or above? '??' is a null coalescing operator added in PHP 7.
  16. Thanks Jonathan. This is actually the first version of the store outside of online marketplaces. I've had the misfortune of using WooCommerce in the past on a site with a large catalogue of products and variations, it wasn't the slightest bit enjoyable! The beauty of ProcessWire is that I could define the PW templates/fields around the existing data, whereas an off the shelf e-commerce product would have required everything to be re-structured to meet the criteria of what it defines a 'product' as, or otherwise rely on another third-party service like Zapier which becomes expensive when daily tasks run into the thousands and feels like an unnecessary step. I really buy into the separation of CMS and e-commerce, and ProcessWire is the perfect framework for that.
  17. We recently launched The Power Supply Shop, an e-commerce store built using a combination of ProcessWire and SnipCart. The site has in excess of 120,000 products and variations, making heavy use of page references as well as SnipCart's "any page can be a product" approach. The site pulls in its data from an external MS SQL database several times a day. At a glance, the site uses: ProCache - as well as WireCache for some heavy product listing pages (50k+) FormBuilder @adrian's Tracy Debugger A modified version of @Soma's Ajax Search @mtwebit's fantastic Tasker and DataSet modules. And that's about it on the module front. For other libraries we're only really using FancyBox.js for product galleries and Anchorific.js for guide pages. At present the site is geared towards the UK, but if and when this changes I'm looking forward to delving into multi-languages with ProcessWire, something I haven't really worked with yet!
  18. It's been a while, but I just wanted to follow up with you on a project that's now in its final stages and say dataset and tasker are really exceptional, powerful modules, and definitely up there as my favourites for ProcessWire. You really covered the edge cases with being able to set task dependencies, merge, overwrites etc, and while it took some time to get my head around I now have a system that calls multiple tasks every hour via cron for fresh data from a specific set of CSV files. Looking forward to hopefully working on another project that uses dataset/tasker!
  19. I had this issue and ultimately I did nail it down to issues with the webhost. They would cluster their clients MySQL databases based on the first letter of the URL. Domains I had beginning with 'S' or 'T' would constantly get this message, where others on 'Z' or 'Y' were unaffected... In a nutshell, do double check that it isn't your host. The error essentially means that ProcessWire cannot connect to the DB/that it's timed out.
  20. That is a real eye opener Pixrael and really puts it into perspective. Most of my clients who use a combination of PW/SnipCart are turning over much less, so at present it's an affordable solution. If I'm lucky enough to work with clients with that level of sales volume I'll no doubt be shying away from SnipCart. I understand they do offer some negotiation on fixed fees for high volume stores but they don't share publicly what kind of fee that might be.
  21. I absolutely love Snipcart. If the 2% fee isn't prohibitive, it makes building a completely bespoke e-commerce site with ProcessWire a breeze. I've spent the last couple of months working on one that pulls in a huge data feed from an Azure database each day and doesn't break a sweat. I do have a PadLoper developer licence and I used it for one project, but until the new version is released to test I would stick with SnipCart.
  22. Thanks for developing this module, my tests so far have been really positive. I'm developing a PW site that requires import and regular update of 100k+ pages and this will be invaluable. One question I have (if you have time) is around Page References. I'm unable to modify my source data, so have created a page reference and field that corresponds to that of the source data e.g. 'LED' which is ID 1137. My CSV has this 'LED' data, however when I import, I get this result: Processing data for field 'category'. Page selector @ field category: templates_id=50, has_parent=1110. Found referenced page 'First Category Item' for field 'category' using the selector 'templates_id=50, has_parent=1110'. Setting field 'category' = '1111'. Page ID 1111 (or First Category Item) is the first Category page. I've also tried setting the category to 1137 within the CSV file and get the same result. This is when using the below config: JSON{ "name": "Import", "input": { "type": "csv", "delimiter": ",", "header": 1, "limit": 10 }, "fieldmappings": { "model_id": 1, "title": 2, "category": 3 }, "pages": { "template": "model", "selector": "model_id=@model_id" } } The other two (text fields) work fine. Any advice would be appreciated! Edit: I've now found your reference to Page References in the Wiki that changes everything! The default for Page References is Title as you say. I've installed Autocomplete and it's working great. One task for later is figuring out the scheduling side of things. I did wonder, with Page References is it possible for pages to be automatically created if they don't already exist on import?
  23. Hi all, Is there any means to force MailGun as the wireMail 3rd party module? A few days ago one of my sites stopped sending WireMailSMTP e-mails (couldn't connect to smtp.mailgun.org). There'd been no changes but I took it as an opportunity to switch over to this MailGun module that I use on several sites. When I'm using either FormBuilder, or my own code with '$message = wireMail();' for example, it doesn't use the MailGun module. Instead it tries to send using standard Wiremail which is picked up both on wiremaillogger and in cPanel. I simply cannot get it to call MailGun. Has anyone had this issue? I'm running PHP 7.1. Thanks. EDIT: It seems the issue is caused by the WireMailBranding module I still had installed. Uninstalling the module fixed this. It was never marked as compatible with 3.0 but did work until I updated to the latest MailGun module. I'll look further into it and see if there's a simple fix.
  24. I appear to have it figured out, the registration form does not like Page Reference fields. It will accept the registration and send the confirmation code, however will always fail if the original registration form contained a page reference. Shame as my site relies on it quite heavily for the initial registration, so I will look into whether there's a workaround.
  25. Hi all, I'm having an issue with LoginRegister 0.0.2 I wonder if anyone can help with. I've used the module previously for 2 sites which work great and are well used, however I never needed the registration function for them and left this disabled, manually creating accounts. With a site I'm working on at the moment, the confirmation code e-mail sends after the registration is completed, however always returns with the message 'Unable to complete confirmation, please re-register and try again'. There have been no modifications to the 0.0.2 module code, however I have added several new fields which include a page reference, text and select fields. I understand this is most likely a session based issue, however I've tried incognito mode, Chrome with cache/cookies deleted and also Internet Explorer. Has anyone had this issue, or better yet a means to disable the session issue entirely (at the expense of some security), so users will be able to register on desktop and authenticate with their phones etc? Any advice appreciated!
  • Create New...