Jump to content

ai_slop

Members
  • Posts

    35
  • Joined

  • Last visited

Everything posted by ai_slop

  1. @szabesz So sorry for the late reply! I must have missed a notification. This is what mine looks like: Hope you manage to get it sorted.
  2. Well that was quick! πŸ˜… Wrapping with json_encode() worked for me. Gsap text animation now works: const paragraphs = [ <?=json_encode(__("Here is some text"))?>, <?=json_encode(__("Here is some more text"))?> ];
  3. I have a javascript animation similar to this codepen here: https://codepen.io/Anthony-Osceola/pen/YPPXwJw My version requires that the string is contained in a const variable. This is what I've tried: ..... .......... const paragraphs = [ <?=__("Here is some text.")?>, <?=__("Here is some more text")?> ]; function buildParagraph(text) {.......... While I've managed to translate the rest of the page, I'm having trouble getting text within javascript tags to work. They show in the admin but the translated text won't display for the JS animation. Would I be better off just creating another template for this translated page? I thought that doing so could be bad for SEO if it's counted as duplicate content. Any advice appreciated.
  4. @szabesz I forgot to cancel my trial yesterday lol. But so far it's been working well for me albeit slower than what I'm used to with claude. That being said, I'm on the cheapest plan. For me at least there's a cancel button under settings > subscription > cancel plan... Here's hoping it works next month if I change my mind
  5. Think I got it working, but not sure which of these steps were needed. Posting in case others find it helpful. I uncommented RewriteBase / in .htaccess I truncated the cache in the database with Phpadmin6 (I'd avoid this one if the others work first!) Using Tracy Debugger > Clear sessions, cookies & module refresh. A normal browser cache clear didn't work for me.
  6. That's a good point. There seem to be ways around it but I've never worked with these before: https://developers.google.com/analytics/devguides/collection/ga4/single-page-applications?implementation=browser-history For the moment I'm trying out css view transitions api to fake a single page app look but it doesn't seem to work for Firefox yet. I just added this to style.css: @view-transition { navigation: auto; }
  7. I haven't made my site live yet but I have a similar issue. I'm developing on laragon, and my Processwire site was installed with a folder /pw-template/ such that the site loads at: http://localhost/pw-template/ So far I've tried the following: - moving everthing in /pw-template/ to the root / - adding the following lines to config: $config->urls->root = '/'; $config->urls->admin = '/processwire/'; - deleting cache files in the site folder - doing a hard reload in the browser The site pages seem to load fine, but the Admin is not working correctly. Selecting Pages for example returns url http://localhost/pw-template/processwire/page/ so something hasnt been updated. Do I need to play with the database? I'm terrified of screwing up my database and progress and I'm not used to playing with MySQL. If I do something with the htaccess file is there a risk of breaking something in the database? I'm using laragon for the moment. When development is finished, I'd like to migrate or clone everything to the server if possible. Not sure how recommended that is if I change the root - hoping this doesn't screw up installed modules...
  8. I just came across this library and thought I'd share. Are any of you using this in your ProcessWire sites? It looks very similar to what I've read about HTMX but I have yet to test either properly. I just dropped the following into the head of my portfolio site and now navigation is as smooth as butter! No page load flicker, and I didn't modify anything else. The only bug on my site was when I tried to load the landing page in another language, but that may be as related to the URL segment, or the way in which PW organises translated pages? Not sure. I haven't learned enough about AJAX to know if this would interfere with existing contact forms or not without customisation (?). Curious to hear what you think, or if you're implementing this, HTMX or similar on your sites. Alpine AJAX looks like another interesting alternative. <!-- 1. uJS Script - Include the script --> <script src="https://unpkg.com/@digicreon/mujs/dist/mu.min.js"></script> <!-- 2. Initialize --> <script>mu.init();</script> https://mujs.org/
  9. Ah excellent, thanks πŸ™‚ Exactly what I was looking for.
  10. @wbmnfktr MiniMax looks interesting. How does it compare to something like Claude? If I'm not mistaken, you or another member on here mentioned Kimi Code on here recently... Curious if there are any useful alternatives to Claude. When I last tried it I hit usage limits rather quickly. I'm wondering if there's any easy way of giving AI an awareness of a ProcessWire site's template structure and fields when working with them? Are MCP's capable of that or is it more of a knowledgebase type thing? (noob alert🚨)
  11. So I tried the following but I'm not sure if it's good practice or not. Sharing in case anyone finds it useful. This setup requires that the PageImageSource module is installed with srcset image sizes setup in its config. It basically involves creating a page where cross-site images can be uploaded - like a simple image library. I created a short function to make it easier to grab the images where needed. Adding ->render() will output <picture> with srcsets. The media page should be set as hidden. Create a template, give it a name and add a multi-image field In the templates folder create _func.php and add the following: <?php namespace ProcessWire; /* Create a fn. that returns a Pageimage object from media library page you just created. Here i called my function medialib, and $medialibrary is the name of my template.*/ function medialib($filename) { static $medialibrary = null; if (is_null($medialibrary)) { // REPLACE the get directory with the Media Library page url created in admin. Mine was /media-library/ $medialibrary = wire('pages')->get('/media-library/'); } // Returns the image object if found, or null return $medialibrary->id ? $medialibrary->images->get("name=$filename") : null; } Add the include for _func.php in your _init.php in the templates folder: <?php namespace ProcessWire; // This makes the medialib() function available to all templates include_once("./_func.php"); // Render media library images on other pages using format: /*<?= medialib("imagefile.jpg")?->render() ?>*/ Function can now be called in template markup using: // Render media library images on other pages using format: <?= medialib("imagefile.jpg")?->render() ?> //Example <?=medialib("imageNameMustMatchFileName.jpg")->render()?> // Outputs <picture> tag. For CSS styling, target outer div class like so: .class img{.....} Combining this with another module might https://processwire.com/modules/process-media-lister/ might be useful.
  12. Looking good, @Peter Knight! This is exactly what I was looking for. New to PW and building a portfolio site so quickly running into image management questions. I just posted a question on handling static or non-image field images - more specfically, how can we generate <picture> srcsets with PageImageSource when dealing with asset folder images. A solution without duplication would be nice. Not sure how relevant that is to your module but thought I'd share: Picture srcsets have to be the most tedious thing in html markup. I'd be happy to beta test the module if you like. Are you planning on releasing it as paid or open source?
  13. I've been reading through the forums for best practices on handling images on static pages - that's to say, how best to handle images in my static html markup when I don't have any need for image fields. On my current site, I have a lot of images on the home page and it seems silly creating an image field for all of these. Also, for pages where I do have image fields, I've been using the PageImageSource module to create wepb srcsets automatically (and it works great). I like setting my desired image sizes for the srcsets in one place, so I'd like to use this module for everything everywhere if possible. The problem is that it only works with PageImage objects, so I have to do something with my static images in order for the plugin to work with those. It looks like the media manager modules are not maintained. Could I just somehow put all my non-image field images in one page reference or something and have the PageImageSource module render those wherever they're needed? Could the following work? 1) Create an images/media page and template with images field. Set it to hidden. 2) // In _init.php: $media = $pages->get("template=media", include=hidden); 3) // on a template page markup: $desiredImage = $media->images->get("name=imageName.jpg"); .... <div><=?php $desiredImage->render()?></div> // renders the srcsets and <picture> tags with the PageImageSource module I don't know if this is the recommended way of dealing with <picture> tags for static pages (srcsets are such a pain to do manually!). Maybe there are some downsides to this that I'm not aware of. Any guidance would be very welcome.
  14. Looks great. New to PW here and have been scanning the forums for best practices on including images on static pages (no image fields). A media library seems to be the way... I wanted to understand how I might use the PageImageSource module to render webp srcsets on the fly for static images but was disappointed to learn that it can only be used with PageImage images. https://github.com/nbcommunication/PageimageSource I think ProcessWire would be a hard sell to many clients without some a full-featured image library solution, which is a great pity. The UI looks well done.
  15. Strange... I'm seeing some inconsistencies which seem at odds with what the docs say is possible, but maybe I'm going wrong somewhere... If anyone has any tips, I'd appreciate it! For example, in my _main.php and template.php I had: <main id="main-content">...</main> but content would not populate until I used pw-id: <main pw-id="main-content">...</main> I thought that both id and pw-id were possible? I've also had more luck adding scripts before the body tag using divs instead of putting the script tags within region tags for some reason. What worked for me: <div id="regionscript">...</div><!--#regionscript--> in the template instead of placing scripts within region tags. With an optional div in the _main.php: <div id="regionscript" pw-optional></div>
  16. I'm having the same issue however the content is repeated 4 times. Building on the site-blank template and I haven't touched anything above the Doctype declaration, though there are existing variables mentioned below. Should those be deleted? I read the Markup Regions docs thoroughly though I'm at a loss here... Wondering if it's one of my scripts or something interfering with things. I have a GSAP typing text animation plugin before my closing body tag on a markup action region tag (on a template)... /** @var Page $page */ /** @var Pages $pages */ /** @var Config $config */ $home = $pages->get('/'); /** @var HomePage $home */
  17. Very helpful, thanks. Haha yes Claude is very supportive πŸ˜‚ Always try to verify if I can though while I'm learning. So it's a bit like function scope in JS then, the use keyword lets the function see outside itself. You've taught me a lot in this thread, cheers for that
  18. Really appreciate your time, @elabx thank you. Out of interest, what are the benefits of using wire arrays over page arrays here? $images = new WireArray(); $project->section->each(function($images) use(&$images){ // should it be function($item) here, where $item is a repeater item group? $images->import($item->images->findTag("gallery")); }; I tried to get Claude to explain the code line by line but sometimes it doesn't get it right πŸ˜… Did you mean function($item) instead of function($images)? - I'm assuming this like looks at each item in the section repeater like a foreach loop (?) - the use(&images) thing confuses me too. My guess is that it updates/appends the $images wirearray with the images inside the section items? it's just that use(&... thing I don't understand. Sorry! EDIT: So use(&$variable) allows the original $images variable to be updated directly, if i understand correctly.
  19. Hi @elabx Thanks for your post. Your code looks clean but I'd like a little more flexibility ideally for my use case. I'd like the option to choose any image from my projects (not just the first). Also, sometimes I'll need to pick more than one image from the same project for display on the masonry gallery. For this reason, I'm thinking image tags might be the way to go but then the question is, how do I wrap that image in a link to its respective project page.. Page references seem like the way to go, but I'm still trying to wrap my head around how these work tbh. Custom image fields could also work but I'm trying to keep things as simple as possible. I also don't want to screw up alt fields for SEO and I'm looking to use PageimageSource to manage srcset and webp automatically (maybe I'm looking to learn too much at once for my first PW site πŸ˜‚) https://github.com/nbcommunication/PageimageSource Assuming all image fields are image arrays with tags enabled in admin, could I do this?: // "sections" is the repeater on my projects pages that contain images and content. // "project_header" is a repeater in project template that contains project title and info. // Can I can use find() to get repeaters with template=repeater_repeaterName, like this? $projSections = $pages->find("template=repeater_sections, images.tags=gallery"); foreach ($projSections as $section) { $projectPage = $section->getForPage(); $title = $projectPage->project_header->first()->project_title; foreach ($section->images->findTag("gallery") as $img) { echo "<a href='{$projectPage->url}' title='{$title}'>"; echo $img->render(); echo "</a>"; } } It seems inefficient to me to have to parse through all project content repeaters for tagged images like this but maybe with caching it wouldn't be a problem? In my setup project title and description text is in one repeater, and all images are in another - not sure if that complicates things. I would like to wrap each image in a <a> that links to the respective project page.
  20. Hello all, Another day, another thread! πŸ˜… So I'm building out a portfolio site bit by bit, and trying to learn how ProcessWire works for clients in the meantime. Below is a screenshot of what a project page might look like. The project header is made with a project repeater and some txt fields. Below this is another repeater (sections) - that's where my project images live. What I'd like to make: a curated gallery page (like a photographer's portfolio page) where I can manually choose images from across my project pages to be displayed in a masonry style layout (e.g. like Masonry.js https://masonry.desandro.com/) I'd like to avoid duplication or double uploads - I'd like to reuse existing project images and keep my setup as fast/light as possible Clicking an image on the gallery should link to the related project Ideally without resorting to third party solutions - could image tags be used like an image reference? I've read a discussion on community requests for something like an image reference field (which would be great) but it looks like this isn't natively supported in PW yet: https://github.com/processwire/processwire-requests/issues/207 I'm wondering if I could use PW's built in image tags or something and then display all of those on a gallery page layout. But I'm not sure if I could grab the related project page links through tags alone? Fyi, I'm also using the PageimageSource module to keep things efficient. https://github.com/nbcommunication/PageimageSource Beginner here, so maybe I'm thinking about this the wrong way. Would be nice to hear your thoughts. Thanks!
  21. Cheers for the info @poljpocket That's good to know. Thanks for your contributions to the community @bernhard I saw you created a lot of modules - I may try out RockCommerce at some point if I can get it to work with Stripe also. My site is likely to get image-heavy at some point so I'll probably cache it with one of the above solutions. I'm guessing caching mitigates repeater latency completely more or less on smaller/brochure sites? I'm not building anything too complex for the moment. Curious as to how well caching would hold up on a client store site of 100s of products though...
  22. Hello @LostKobrakai, did you ever get a masonry layout working with ProcessWire srcset images in the end? Building a portfolio site and scoping out some ideas. It looks like the new CSS spec for masonry layouts - or "css grid-lanes" will be a thing but it's not ready yet. EDIT: Just realised the OP posted in 2014 lol. In any case, readers might find this of interest: https://metafizzy.co/blog/imagesloaded-v5-released/ I may see if I can get it to work
  23. Hi @kongondo Hope you don't mind me resurrecting this thread after so long. Using a repeater, I'm making a kind of section builder for a porfolio site. Using a radio toggle, it displays relevant layout fields to upload to for each section type. However they all use the same repeater. I'm wondering if there are any downsides or performance issues to including fields in a repeater, if they are not populated. My example only includes about 6 or 7 fields, with a project page using up a repeater about 5 or 6 times. Profields is out of my budget for this project right now, but I'm curious about any performance impacts my alternative may have. I've included screenshots of my repeater in the thread below.
  24. Thanks @monollonom I feel silly now πŸ˜… I thought I had tried using values. I had used a round about way of getting the text values to work like an OR statement by elimination. I've updated to use numbers instead. Still not entirely sure why "section_type<=5" didnt work though. I've included what worked below in case other PW newcomers find it useful: heading section_type!=single_image, section_type!=two_images, section_type!=three_images, section_type!=txt_image, section_type!=image_txt section_type=6|7 text_area section_type!=single_image, section_type!=two_images, section_type!=three_images section_type=4|5|6|7 project_image_1 section_type!=txt_heading, section_type!=heading_txt section_type<=5 (doesn't work) section_type=1|2|3|4|5 project_image_2 section_type!=single_image, section_type!=txt_image, section_type!=image_txt, section_type!=heading_txt, section_type!=txt_heading section_type=2|3 project_image_3 section_type!=single_image, section_type!=two_images, section_type!=txt_image, section_type!=image_txt, section_type!=heading_txt, section_type!=txt_heading section_type=3 By the way, do you think using a large repeater in this way (like a mini page builder) is bad practice or performant enough? I know ProFields exists but I'm not sure how different this is performance wise
Γ—
Γ—
  • Create New...