Jump to content

Jozsef

Members
  • Posts

    284
  • Joined

  • Last visited

Everything posted by Jozsef

  1. Thanks, it is not the problem, it would be cropped from the centre then. Interestingly, if the focus point is not set the images are cropped from North, not centre. No matter what I tried, it doesn't work with percentages in the size options. I ended up setting the focus position for the image and it achieved the results. if (!$image->hasFocus) $image->focus(35,50); $resized = $image->size($w,$h)->webp->url;
  2. The site is displaying a list of full body portraits that I'd like to crop with a focus on the face/shoulders. No focus has been set on the images and it's hundreds of them so I want a sensible default. This is the code below but it still crops from the top of the image, or the actual center (50%,50%). Is it a bug or I'm doing something wrong? $image = $gallery_page->images->first()->size(540,404,array("cropping" => array('50%','35%'), "quality" => 80))->webp->url; It's based on the latest API reference I've found: https://processwire.com/api/ref/pageimage/size/ It's very late but is it something I can't spot here? Should it work?
  3. I've just had the same error and realised that if you just simply download the module and install it, it installs v1. So you have to go to Modules > New, uninstall v1 and install v2 as both versions are included in the module folder. Of course the new version only works with the pim2Load() method so you have to change that too.
  4. I'm not sure but is that a mistake in the readme? The image, width, height and options all equal to $event->arguments(0) in the hook example.
  5. Thanks a million, I know it will be a staple for me from now on.
  6. @Robin S, thank you very much, that is such a nice gesture of you. I'll try this right away. ?
  7. Dimensions are available since they are based on image presets and Drupal includes width and height attributes I believe. We can do the same in ProcessWire but the page is not even sent until all the images in the template got resized that can take minutes for a gallery page. When including links to larger image variations, even images in the links get resized before the page can load even though they are not displayed immediately and could wait until someone clicks the link.
  8. Thanks @szabesz, I'm aware that it's possible but I don't want to pre-generate all image sizes for all images automatically. For example Drupal 7 resizes images on the fly too, based on image presets, yet the page displays and images load as they are generated. I am just hoping that it's possible to achieve something like this in template files.
  9. I love ProcessWire and I've been using it almost exclusively for the last 8 years. One thing that has never improved though is how the page loading is blocked while waiting for ALL images to be resized in the frontend. This is ok for a basic page with a single hero image and another 2-3 in the content but is seriously problematic for gallery pages or sites with loads of images. First page load can be incredibly long, or potentially time out. Would it not be much more user friendly if the page would display and images would appear when they are available in the requested size? I came from Drupal 7 where this was the normal behaviour, it was a shock with ProcessWire and unfortunately this is still the case. Is there a technical reason why it MUST be like this? While ideally this would be a feature in the core, what workaround do you all use to display the html/css/javascript while images are getting resized? Is there a module I've missed before?
  10. Hi there, I can't wrap my head around this one, can someone help me with sorting this multi value field? Pages created by PageTable are hidden so they don't mix with "real" pages in the admin. I get the page content with $page->getUnformatted("field") and the use a foreach loop to display the content. It used to work just fine but on the last two websites the pages are all mixed up. Using the selector sort=sort displays them in the order they are listed in the admin, not in order they are listed in the PageTable field. I don't know how to access the "internal" sorting as per screenshot. Again, it used to work just fine, i don't know what has changed. Does anyone have any idea how to get the front end follow the order of the PageTable field content?
  11. I'm having trouble displaying a pagetable field in the same order as it appears on the page edit screen. The child pages are hidden so I use $page->getUnformatted("field") to get the array of pages but a foreach loop outputs them in completely random order. When I try sort("sort") it then appears in the order of the child pages in the page tree so that "sort" refers to the order from the Pages table. I never had trouble with this in earlier versions, this random order appeared in the last two websites I'm developing. Is there a way to access the internal sort of the actual pagetable field as per screenshot?
  12. I see, thanks. I'm looking for something to be used with ProMailer the client already uses to email users based on criteria.
  13. @bernhard, thanks for the suggestion, I was also looking for a low cost (possible free) alternative to SMTP for the client who very occasionally need to send larger campagins (around 8k). MailerSend's free tier does seem to be very good. Thanks for sharing your module too, however since it does not extend WireMail, RockMailerSend can only be used for custom solutions. There's no way to send all transactional emails from Processwire via MailerSend using your solution, correct?
  14. Thanks Bernhard, I'll try it in my next project. I did the exact same thing in most past projects, a headline text field in the format of *Bold Text* in the headline. As wbmnfktr I used the core markdown textformatter but in the template file I had to strip all tags apart from <em>. It was necessary because the core formatter adds paragraph tags around the headline that doesn't play well inside heading tags. Another negative about this approach is that I can't use front end editing. Your readme doesn't say anything about usage, does that mean I can just simply output the text field as $page->headline ? Or even $page->edit("headline")?
  15. Thanks everyone, a lot of learning to do, I'll look into the suggestions. I've never used UIKit but Sortable looks the bill. Updating data would be the real challenge with my skills. @bernhard, such a module would be awesome. ?
  16. Hi everyone. My clients wants me to build a CRM app connected to their existing client site so they have all data in one place. One of their requirements is to have a drag and drop kanban board interface to update their sales status. Does anyone have any recommendation for an existing JS or jQuery library that could be integrated into the PW backend and could update data in real time? Have you done anything like this before? Or does PW have built-in tools for this? I know you can update page parents by drag and drop but can that be reused somewhere else? I'm sorry for the lame question, I'm not very fluent in JS.
  17. I'm in a similar situation where the client asked me to integrate their sales into the existing client facing site since half of the data is already there. Silly question but would it be bad practice to store data as pages? I mean ProcessWire can do all the content types, fields and page references already, would it still be better to store data in the database directly?
  18. Thanks @wbmnfktr I will definitely do. I was also looking into email relay services such as Mailgun or SendGrid but their privacy policies were not acceptable for them. ? Anyway, thanks for everyone for the ideas. We are going off topic though so it will be the WireMailSMTP module for now.
  19. I'm using PrivacyWire with Google Analytics. Looking at their documentation it is possible to load GA4 without cookies. How would I go about updating the GA settings when statistics cookies get approved instead of blocking the analytics script altogether? https://developers.google.com/tag-platform/devguides/consent Is there a JS variable I can check for or I have to parse local storage to find the answer? I understand that I can run a script when consent is changed, I was just wondering if there's anything already exposed.
  20. Thank you @fliwire, that might be another consideration for the client.
  21. Thanks, these are valid points. I'm not a module developer, hence the "simple way" in my question. ? No ideas unfortunately. The site is for cyber security experts, their mindset is to minimise the risk when something happens. Their previous WordPress site was compromised so a breach is not an "if", it's more like a "when" for them as they deal with this all day every day.
  22. I completely agree, I really think that saving the SMTP password as plain text is a big security compromise. Is there a simple way to change this?
  23. Thanks Robin, I didn't know I can use mysqldump directly in a cron job. As for the site, they are debs (prom) organisers for high schools, hence the large number of customers and ticket sales on the site. Otherwise the site is performant and works well within the shared hosting limits. As far as shared hosting goes it's a really good one with guaranteed resources. Thanks, I always wanted to check out your module, I'll give it a try.
  24. Can I reduce the database size or break up the backup somehow? The site's database grew over 100Mb having over 1M rows in total. There are over 150k pages (high number of payments, orders and over 30k users). I use the great CronjobDatabaseBackup module by kixe to trigger hourly updates it uses the core WireDatabaseBackup class. My backup now triggers a PHP error every time, despite max_execution_time is set to 300 on the shared hosting. I think they enforce a maximum of 120 seconds on the database though. Fatal Error: Maximum execution time of 120 seconds exceeded Line 854 of /wire/core/WireDatabaseBackup.php or Fatal Error: Maximum execution time of 120 seconds exceeded Line 961 of /wire/core/WireDatabasePDO.php
  25. @aagd Yes, it's a shared hosting but upgrading is not an option at the moment.
×
×
  • Create New...