Jump to content

heldercervantes

Members
  • Posts

    398
  • Joined

  • Last visited

  • Days Won

    15

Posts posted by heldercervantes

  1. Hey guys.

    I'm looking to implement something a bit more tricky than the usual tags/authors/themes things we usually solve with the page selector.

    Imagine 3 sections: projects / news / videos. A item in any of these sections can be related to content from the others. What's bugging me is that there isn't one that's central, and relations should work both ways, so that when a video is added and related to a news item, that news item gets related back. I mean we can be adding a news article and there is already a related video, or we can be adding a video and relate it to a news article (or many). This presents challenges on where to centralise, how to collect relations on the frontend, and even how this is all managed by the admin.

    How can we do this and keep some sanity?

  2. On 7/31/2024 at 11:45 AM, bernhard said:

    At least @heldercervantes showed his interest in that in 2017.

    Still interested. I agree the site doesn't do justice to the product. Wordpress is looking pretty good these days, and the only other alternative I've seen deserving of notice, CraftCMS, is also looking pretty good.

    I think our site is directed too much at the developer audience, and I often found myself having to convince my clients that this is a better option than Wordpress or whatever platform they have in mind. And the site doesn't help much at that.

    If you guys want to consider a redesign, I'll gladly join that effort.

    • Like 5
    • Thanks 1
  3. 1 hour ago, Stefanowitsch said:

    @heldercervantes Managing Content Blocks Previews with The RockPageBuilder is actually quite nice and super easy:

    Yeah it's clear now that I was confusing RockPageBuilder with RepeaterMatrix. I probably saw the conversation in its early stages and that's why I wasn't finding anything.

    At some point I hacked the file selector module to a similar effect. The user experience was great, but it was a pain to set up using the standard repeater module (had to add all possible fields and then control visibility of each one depending on the chosen file). Eventually I started using RepeaterMatrix instead. I might have a look at Rock's module in a future project, as this one's too far ahead in development and it's hard to add the cost now.

    • Like 1
  4. Apologies if this is redundant, I'm convinced I've seen this discussed here but I just can't find it.

    If my memory isn't failing me, I'm sure there's a way of replacing the text links for adding new entries with thumbnails on RepeaterMatrix. I'm using it to create a content blocks solution and want to have a better visual cue of what the block the admin is adding looks like.

    Or maybe I'm losing my mind, which is quite possible.

    • Haha 1
  5. Thanks for your replies. It was most likely a false positive. After updating and requesting a new review, the site was cleared.

    @ryan I don't think the file was modified. That would be too weirdly specific and discreet for a hack. It was probably something harmless the code that was raising suspicion. Sucks that without any fault a site that's running campaigns and paying to grab traffic would get such an alarming message from Google. Hard hit on the brand.

    On a side note: First time ever that I had to update something on a published project. I have sites published almost 10 years ago that had zero issues of this sort.

    • Like 1
  6. @bernhard you might want to have a look at this. One of my sites is displaying the red screen of extermination, saying that the site is dangerous and contains malware.

    Google itself wasn't much help with search console just giving me a vague answer, but using other tools it comes down to Rockfrontend's JS:

    image.thumb.png.b9964447daba9a2c5ace9efbf34aa623.png

    Has anyone had this issue? Any ideas?

    Edit: I was on version Rockfrontend version 3.2.2. After updating to the current version, Sucuri's SiteCheck doesn't seem to complain about RF anymore and only says the site is blacklisted by GSF. I've requested a new review from Google and I'm awaiting a response.

    • Like 1
  7. Hi guys.

    Check out my latest project Casa Douro Guesthouses.

    As the name implies, Casa Douro offers a few guesthouses in historic Porto and on the Douro Region. They came to us looking for a well built website that would fit their marketing efforts and grab direct reservations, instead of relying only on Booking.com and Airbnb.

    Since their channel manager (CM) software only offers a cookie-cutter website and no API, ours does all the presentation and jumps straight to the booking system when the user decides to make a reservation.

    As usual on my sites, pages are built using a blocks system (Profields Repeater Matrix), allowing the admin to change things up a little bit between the different units. Plus the usual WireMailSMTP, SEOMestro, and Rockfrontend because I love using Latte templates.

    The frontend is a mix of Tailwind + SCSS on more complicated components, and JS over Vite which allows me to keep it as vanilla as possible.

    We already have plans for new sections, and maybe upgrade the booking system in the future.

    • Like 11
  8. 1 hour ago, bernhard said:

    Why is creating pages any worse than populating a repeater? I'd prefer pages I guess.

    Page loads on every step. Adding to a repeater is a lot quicker and less frustrating than creating a page. I usually add a "Global settings" tab to the homepage where I put a repeater for the social networks, email for form submissions and stuff like that, so I was wondering if I could have a field there to manage this list instead of pages. It would also seem more tidy and even intuitive for the admin than using pages on the tree. The idea that pages on the tree might not be actual pages but also the options for a field is super weird to me.

     

    1 hour ago, bernhard said:

    I don't understand the last part. Could you please explain what you mean exactly?

    image.png.33bef39a5bb8606519d4789df1bf51db.png

    This is what I mean. The amenities are grouped in sections, but those are lost when selecting them on the page. Not an issue with the 9 or 10 that I have now, but considering in the end there will be 50 of them, it won't be very user-friendly. Oh, as I was writing this, @BitPoet pointed out the solution. Thanks man, great timing ?
     

  9. Happy new year, everyone!

    I'm working on a BnB website and I need to have an anemities list like this:

    image.png.4108273ace7ef700249dc5dbf9884156.png


    How would you approach something like this in the admin? I need to create a global list of amenities, with sections, each with a title, icon and optional note, that in each unit I can just select with checkboxes.

    The most viable option is probably to create separate pages for each + a multi-page select field. But there are a couple of things I don't quite like in that approach. One is creating / managing the options. Having to create these as pages one by one makes my skin crawl, and I'd much rather have someting like a repeater on a global config section of the homepage. The other is selecting them. I've created amenities/section/amenty templates, the pages select field looks for the amenity template, and in the end the sections aren't accounted for when I'm selecting in the unit page. I'll probably have to grind a bit to get them to display organised by section in the end, now that I think about that.

    Any better ideas?

  10. Has this been deprecated? Just tried this module on a site, trying to get watermarks on its opengraph images, and I'm getting this error:

    Compile Error: Array and string offset access syntax with curly braces is no longer supported (line 2385 of site/modules/PageImageManipulator/ImageManipulator.class.php)

    (My server is running PHP 8.0)

    • Thanks 1
  11. 8 minutes ago, BitPoet said:

    Maybe a namespacing / file compiler issue? Is site/assets/cache/FileCompiler writable? Are there any stale files in there?

    The directory is writable and there's stuff there. It's weird that the older version works. I'll probably just leave it at that

  12. Here I am doing maintenance on a site that seems to have went through some hard times and had multiple issues.

    I started off by updating to version 3.0.229 and then went ahead to finding crap and cleaning up, replacing the old SEO module with the new one, refactoring some stuff, yadda yadda.

    Most of it's done but now I'm getting a weird error on WireMailSmtp. I can configure it fine, but when I send a test email or uninstall the module I'm getting this: Class "WireMailSmtp" not found in site/modules/WireMailSmtp/WireMailSmtpAdaptor.php:143

    Any idea what's going on? I've already removed the module manually from the file system, refreshed modules to remove it from the database and installed it again, but the same thing happens.

    **EDIT**
    I've downgraded from version 0.6.3 to 0.6.0 (just copied the folder from another site) and I don't get this error anymore ?‍♂️

  13. On 8/25/2023 at 11:46 PM, wbmnfktr said:

    Let me know where it breaks your boilerplate setup.

    The problem isn't breaking the boilerplate, but rather breaking my habits ?

    I mean I'm so used to just making my own vanilla js and getting it doing what I want that needing to flip the switch to Alpine's way is enough to make me postpone the decision to the next project.

    • Like 1
    • Haha 1
  14. 20 hours ago, wbmnfktr said:

    Like TailwindCSS or AlpineJS.

    Love this! Makes total sense.

    Although I did try to make AlpineJS part of my boilerplate and quickly gave up. Just easier for me to add a JS file and do my stuff with vanilla. Right now I just have a Vite thing, a js that imports and inits scripts from a file (like the one that Bernhard mentioned).

    Effects like my text reveal thing require adding the type of ready-made JS and CSS that I tend to avoid. However if it could be part of a library of stuff a developer can browse and easily add to their project, it might be a cool idea. Alpine might help with this.

    • Like 2
  15. On 8/11/2023 at 11:30 AM, Stefanowitsch said:

    I love the text-reveal animation for the headlines. Really neat! 

    How did you approach this feature? It seems that every letter in the headline text gets wrapped inside a <span> element via JavaScript and is then animated via CSS transforms?

    It's my own script. Basically I'm identifying every text to animate with a data-attribute. Then my JS starts by breaking each word into a div with overflow:hidden and each letter in a span shifted down and incremented css transition-delay. Then, an intersectionObserver detects when it comes into view and adds a css class that changes each letter's position back to zero and the transition-delay makes them appear one by one.

    It's a cool approach and practically a snap-on script that I can reuse (and have done so already) on other pages. It still has that error @netcarver pointed out, though.

    I also have something similar for the images that makes a fade-in reveal effect.

    • Like 2
  16. http://shift-up.pt/

    Shift-Up is a consultancy company from Portugal that specializes in government incentives and financing.

    This is my first project using ProFields and RockFrontend, and I can't really believe how long it took me to start using both. Profields' InputMatrix is a huge step up from my previous custom module that I hacked together using file selects and custom field visibility. And RockFrontend, just by getting latte in the mix, makes everything a lot more polished and professional.

    The project is a fresh start from the previous old Wordpress solution they had, taking care as to not harm the SEO standing this site had built up with all its content. I started out by writing a content import script that took hundreds of pages from the oh so messy WP export and turned them into neat PW pages. I also had to handle the URLs in the process, ensuring that the old unstructured WP links would be fed to the Redirects module. So the focus here was more on carrying over the content without having to rewrite everything, and now that we're here, when new programs come up we have a platform that can properly grow and add new layout solutions and features.

    • Like 10
    • Thanks 1
  17. 16 hours ago, Robin S said:

    You could use the Find Merge module and supply it with two selectors: one for products without an archived ancestor and one for products with an archived ancestor. You'd probably start by finding the archived categories, then your selectors would include "has_parent!=$archived" and "has_parent=$archived".

    Well, I can just do two searches. I'm just being stubborn assuming there's a straightforward solution for this ?

  18. Hey guys and gals.

    I have a page tree that I want to search, where the second level has an "archived" checkbox. Something like this:

    • Home
      • Products
        • Category ('archived' checkbox field is here) 
          • Product (these also can have subpages that I want to catch too)
          • Product
          • Product 

    And now that I'm making the search engine for this site, I want to query all product pages, and I want to sort them showing "non-archived" items first. I suppose there's a way I can incorporate something like 'sort=$page->parents[2]->archived' (not like this of course, but...)

    Any ideas?

  19. Hi guys.

    I'm making an import script for a weird site's content. I got to the point where I can successfully clean everything up and shepherd most data from the exported mess to their new home in page fields. I'm also finding file links and image urls that I want to upload to a new files field. I don't have them locally, so basically I need to start from an array of URLs and somehow upload them to the page's files field. But how?

    I just can't wrap my head around uploading stuff. It's always a pain

  20. 1 hour ago, ryan said:

    @heldercervantes Great description. This is amazing to me coming from traditional HTML/CSS/JS, to see something like this, and read how it was built. I wasn't familiar with the threejs library before, this looks really interesting. The planets are 3D objects? How did you make those, or where did they come from? It all looks very realistic, it really is something special. Very cool how ChatGPT helped out with the game part too. ? Thanks. 

    Planets are sphere primitives with an image texture applied. The Voyager is a GTLF model from NASA (threejs has importers for that). There's a background that's basically a cube with inward facing images and the Saturn rings is just a plane with a PNG texture.

    You can also see some specs coming towards the camera that's a particle system. Basically 2000 randomly placed vertices that move and get reset once they're past the camera.

    It's a ton of fun to work with this stuff.

    • Like 3
×
×
  • Create New...