Jump to content

wbmnfktr

Members
  • Posts

    1,866
  • Joined

  • Last visited

  • Days Won

    44

Everything posted by wbmnfktr

  1. That sounds to me like a totally different project now. This way you could offer a solution that's managed. In other words: the frontend lists all offers/ads, categories, filters, and everything you need. When it comes to posting ads they could all be collected by a more or less simple form (FormBuilder would work perfectly well here). In case of shelters that have a whole lot of animals they want to list, they could send a CSV (or Excel that needs to be converted) and you or someone imports it via ImportPagesCSV. Even references to that animal shelter profile could be set and other things of course. The inital cost would way lower, the project could grow and it would only be necessary to build what is really needed, and you could offer to manage that site for a monthly fee. Start with a minmal solution and go from there. We did this with a restaurant directory completely managed, no registration needed. But that's just my thought before my first coffee. 😂
  2. Oh no no no... it would be ProcessWire front, back, and center. But I wouldn't use anything like Svelte or whatever on the frontend or even go headless in this case. In addition to that, when I spoke about custom interfaces and management tools I meant things like we can see in the Invoice Site Profile.
  3. My biggest issue with this - in terms of coding and stitching everything together - would be registration, user management, page creation through registered users, and keeping everything as easy and clean as possible for the users. They need custom interfaces and can't use the ProcessWire backend. They probably wouldn't get it. Second issue would probably be an additional management tool for all ads, users, and tasks that occur on a day to day base for such websites aka things user need help with. Maybe a bit of GDPR to allow users to totally delete their account and all their ads while keeping everything that might need to be archived by law. You didn't mention any form of payment process so things should be quite straightforward from here. For the frontend I'd go with clean PHP, clever site structure, and logic. Search, sort, filter with any kind of JS is nice, but not necessary. Later on I might add some nice and shiny AJAX-powered search bars, and things like that. BUT... all of the above isn't the problem with such projects. What you really need is a clear and precise description of what the client thinks he wants, written agreements about who delivers which part and who is responsible for what. Was asked to create a job board once. Client said: "Super easy. User creates an account. Adds job postings. List them on the website. Remove them after 30 days. Nothing special!" What he really wanted was a rebuild of monster or stepstone of one of those big job portals. So... yeah. How long would it take? At least 30k EUR.
  4. In case you have time this weekend: Saturday: enjoy a day reading the docs and tutorials Sunday: enjoy a day of tinkering with the installation, a site profile, maybe first steps In addition to that I recommend this 10 year old video: ProcessWire looks way different nowadays but the steps are the same. And you can see how easy it is (or can be) to get started.
  5. Could be because $page->isNew() doesn't match the page as a page is only new right after it was created. So... the moment you publish that page it is already old. $wire->addHookAfter("Pages::saveReady(template=basic-page)", function ($event) { $page = $event->arguments(0); $pages = $event->object; if ($page->isNew()) { wire()->log->save("debug", "page is new"); } else { wire()->log->save("debug", "page is NOT new"); } }); $this->addHookAfter('Pages::published', function (HookEvent $event) { $pages = $event->object; $page = $event->arguments(0); // add conditionals here wire()->log->save("debug", "page was published"); }); Second example uses this hook: Pages::published
  6. It indeed saved my day today. 😃
  7. I quote myself here (source) Probably the best way to start is: Read the docs: https://processwire.com/docs/ Get familiar with the selectors: https://processwire.com/docs/selectors/ Try the tutorials: https://processwire.com/docs/tutorials/ Search the forums for common questions with google like this: https://www.google.com/search?q=site%3Aprocesswire.com%2Ftalk+how+to+resize+images And give yourself a weekend or two The moment you installed and broke your 10-20th installation of ProcessWire you will feel at home. And you should break* as many installations as possible to learn the foundation of pages, templates, fields, and go from there. Use DDEV (all platforms) or Laragon (Windows) for an easy start. Best way to start with ProcessWire locally. Install the Skyscraper profile and take it apart - or try another site profile. That way you will learn how to use profiles and can build a routine to install ProcessWire. Maybe even creating a few instances with different profiles could help. * have fun with the code, bend and twist every single part of everything to understand. ProcessWire will give you a headstart, great UI to enter content, manage the site and modules, ProcessWire takes care of routing, permissions, and user management. ProcessWire is probably the easiest way to start learning a bit about PHP. if/else/foreach/echo is everything you need to know to start.
  8. Awesome that it works. It was meant more for testing if all image functions take so much time. This way we know there is something weird happening with width() - yet I am not sure what it could be right now.
  9. Totally untested but how does this perform in your setup? $image->size(400,0)->url
  10. This is looking way better. The export works as expected again and the module is in the profile. Thanks, @FireWire!
  11. Another thing, another thought. An exported site profile should contain all necessary files to install and run that profile. Right? If so, what about necessary files like .editorconfig, package.json, .prettierrc, composer.json, and others? Do you guys copy all those files manually over after exporting the site profile? Or do you see the exported site profile more like a final product in which those files aren't necessary anymore? (Wouldn't work out because the /vendor folder is missing in the export folder/ZIP as well - in my case.)
  12. I was just playing around with your module and wanted to export my playground profile so I can use it in another PW instance and then this happened: Tried to export everything with ProcessExportProfile in it's latest version on ProcessWire 3.0.238.
  13. Same here. In that case adding $config->dbCharset = 'utf8mb4' manually fixes the issue for future emojis. Awesome. Thank you.
  14. Can someone confirm issues when importing a profile with utf8mb4? My case: I exportet my latest site-profile yesterday and tried to install it in a new project today and it got terribly wrong. I could fix and finish the installation by installing everything with just utf8 and later changing the config to uft8mb4. I looked into the export and while the db dump clearly shows utf8mb4 it's not saying anything about it in the config.php - which could be totally fine. Yet trying to install it fails. Here a short excerpt from the install log which was over 600 lines in total: You might notice this weird utf8mb4mb4 in the second line. And I guess that's the issue here but I can't find it in any of my exports. Versions used: ProcessWire 3.0.238 Export Site Profile 5.0.1
  15. You have to go to that post, look for "Edit" so you can edit the whole post. You will find that option there.
  16. That's a great tip. It actually has and it fixes the issue for when I need/want VPN while using DDEV. But for now I disabled launch on start-up and auto-connect. Fixed my internet speed as well.
  17. In case you ever run into a Secure Connection Failed / PR_END_OF_FILE_ERROR issue with DDEV, doublecheck you don't have any VPN connections actively running somewhere. Doing this first can safe you at least an hour or two. 🤦‍♂️
  18. What about the referrer? Would this help? Haven't played around with error codes and 404 handling lately but I'd probably start with logging the referrer page in some way at least. I guess $_SERVER['HTTP_REFERER'] might work here. Totally untested and just an idea for now.
  19. That's INP then. I guess. New performance metric. https://web.dev/articles/inp And you can already check that here: https://page-speed.dev/
  20. I am not sure I really understand the goal of that module idea. What fields are you talking about? My pages only load the necessary content anyway. There is no overhead or something. 🤔
  21. Welcome to my world! 😂 Same here. We got is solved. That's all that counts.
  22. Sometimes even the best coded modules trick us. 😂 Still... great you found the issue and told us what the issue/reason was.
  23. Almost nothing seems to the reason for the behaviour. As already said: I'd disable one module after the other and find similarities between those affected pages. I am out of ideas for the moment.
  24. I'd start with disabling that hook and go from there. What other modules do you use?
  25. I remember an issue with PageHitCounter a long time ago where each visit resulted in exactly this behaviour. So in case you use that module, update that as well but check for update instructions as there have been some in the past. Another possible solution is your custom code in either the template, a module, or a hook. Hard to tell without knowing more about the template, possible hooks, and similar things. Do you do anyting with the API, like updating or creating pages, entries or whatever?
×
×
  • Create New...