Jump to content

markus-th

Members
  • Posts

    123
  • Joined

  • Last visited

  • Days Won

    12

markus-th last won the day on January 19

markus-th had the most liked content!

1 Follower

About markus-th

  • Birthday August 1

Contact Methods

  • Website URL
    https://www.dothiscookingthing.de

Profile Information

  • Gender
    Male
  • Location
    Kulmbach, Germany

Recent Profile Visitors

8,001 profile views

markus-th's Achievements

Sr. Member

Sr. Member (5/6)

260

Reputation

  1. @Joachim Exactly, when you use wireRenderFile() (or include), the variable $page remains the current page being viewed in the browser—in this case, the Home page. Since your Repeater fields live on the child pages (the modules), $page->introimg_field is looking at the Home page, finding nothing, and returning an empty object. When you loop through your child pages to render them as components, pass the specific child page into the options array of wireRenderFile. foreach($page->children() as $component) { // We pass the $component page object into the file echo wireRenderFile("components/{$component->template->name}.php", [ "item" => $component ]); } Inside the child (module) template: <section id="<?php echo $item->name; ?>" class="module"> <div class="landing_images"> <?php foreach($item->introimg_field as $intro_image): ?> <a href="<?php echo $intro_image->page_picker->url; ?>"> <h3><?php echo $intro_image->title; ?></h3> <img src="<?php echo $intro_image->image->url; ?>" alt="<?php echo $intro_image->description; ?>"> </a> <?php endforeach; ?> </div> </section> This should give you the correct array.
  2. Hi @Joachim the most common reason a foreach loop "fails" silently is that the array/WireArray being looped over is empty. Have you tried to test $page->introimg_field via var_dump? oh and, your images are loaded via css:
  3. @mattgs I think tihs is a post for the "Pub" not for PW News
  4. I was afraid of that and had already mentioned it before. To avoid this, I renamed my “WirePDF” to Wire2PDF, even though it is compatible with Pages2PDF.
  5. Hi @Inxentas, If disabling protectCSRF and sessionFingerprint results in a continuous redirect to the login page, it’s almost certainly a session persistence issue. ProcessWire likely cannot verify your session after the redirect, treating you as a guest again. Here are a few things to check: File Permissions: Ensure that /site/assets/sessions/ is writable by the web server. If PW can't write the session file, the login will fail silently. Clear Browser Cookies: This is crucial. If you previously had sessionCookieSecure enabled or switched between HTTP/HTTPS, your browser might be holding onto an invalid or mismatched session cookie. Delete all cookies for this domain and try again. Check site/config.php for Hostnames: Ensure your $config->httpHosts array correctly includes the domain (and subdomains like www) you are using to log in. PHP session.save_path: If you aren't using PW's native session handler (Database), check your php.ini to see if the system's temporary directory for sessions is full or unwritable. Native Session Modules: If you have SessionHandlerDB installed, try temporarily disabling it in the database (table modules) to see if switching back to file-based sessions resolves the conflict. Since you have debug mode on, check /site/assets/logs/errors.txt for any "Session save path not writable" or "CSRF" related entries that might have been logged right at the moment of the redirect. Hope this helps!
  6. A 100% protection is impossible in a browser environment, what a browser can show has to be local. But you can make it less easy to "steal" the files with preventing direct access and hotlinking to font files <FilesMatch "\.(woff|woff2)$"> RewriteEngine On RewriteCond %{HTTP_REFERER} !^https?://(www\.)?yourdomain\.com [NC] RewriteRule .* - [F] </FilesMatch> The most effective way to protect a font is to make it "incomplete" for anyone who steals it. By using the fonttools library (specifically pyftsubset), you can strip away all characters that aren't needed for your specific site. There is a little benefit too, the filesize shrinks 😉
  7. @ai_slop Look here: The many pinned threads make the forum a bit confusing. Perhaps a moderator or @kongondo could “optimize” this a little. 😁
  8. Hi everyone, As promised, the Beta version of WireBooking is now available on GitHub! You can find the repository here: https://github.com/markusthomas/WireBooking I would love to get your feedback on the installation process and general usability. If you find any bugs or have suggestions for improvements, please open an issue on GitHub. Happy testing!
  9. Hi everyone, Quick update on the WireBooking module: I have finished my initial testing phase and will be releasing the Beta version on GitHub this weekend! I would really appreciate it if some of you could give it a spin and provide some feedback. Specifically, I’m looking to find out if the module is working smoothly in different environments and if you encounter any bugs during the setup or booking process. I’ll post the link to the repository here as soon as it's live. Looking forward to your thoughts!
  10. Hi everyone, I’m currently working on a module called WireMedia Library and wanted to share the current state of development to get some feedback on the concept. The main goal is to provide a central interface for managing media across the entire ProcessWire instance while staying 100% compatible with the native storage system. The Concept: The module acts as a central hub. You can upload files to the library and then select them from any page. When a file is selected, it is copied into the local page’s file/image field. This ensures that the files remain "native" to the page they are used on, keeping your API calls and templates exactly as they are. Key Features of the current prototype: Central Media Overview: A unified view of all media assets in the system. Usage Tracking: The module indexes where files are used. Even if a file is used within a Repeater, it identifies the "leading" parent page so you know exactly where your assets live. Database Indexing: A custom database table keeps track of file locations for fast performance. Rebuild Index: A tool to rescan the system and ensure the database stays in sync with the file system. Native Workflow: Since files are copied to local fields, you can still use all native PW features (like cropping or focus points) directly on the target page. Planned: Permission System: Granular access control for different user roles/folders. I am still undecided about the final licensing or if/how I will release the module, but I wanted to show the UI and the logic behind it to see if this approach resonates with the community. I’d love to hear your thoughts on the "copy-to-field" approach and the general UI!
  11. I wrote a small standalone script for my installations that checks the error.log every 30 minutes via CronJob and sends me an email when there are new entries. Unfortunately, I can't post the script here in its current state because it's entirely in German.
  12. Then I must have done everything wrong over the last three years, because I added the field, expanded it in the template, updated the hash, and everything worked fine. In my opinion, a real tailwind theme makes no sense at all, because do we really want all forms to look the same? For that reason alone, option D is the best choice.
  13. Even though I don't like the tone of your posts, I'll respond anyway. With Embed Option D your completly free to use whatever you want.
  14. https://processwire.recipes/ I think this could be a good place.
  15. I tested the upload function with several site profiles (up to approx. 30MB). Maybe your profile is very large?
×
×
  • Create New...