Posts by JayW

    … total lack of communication from the perch team

    Not that I want to start a "thing", but isn't it just one dude, not a "team". LOL, the grumpy demands for communication are a bit much. The reasons for slowing down Perch dev were mentioned previously. Meanwhile the software still works.

    Sounds like wheels are turning anyway, so maybe be patient during a global pandemic? Not that anyone needs defending, but Drew has literally thousands of forum posts to his name (including old forum), and I'd call that pretty good communication relative to the lifespan of product. I'd also prefer software devs spend time on the software than replying to needy forum posters :-) Anyway, where were we? Ah yes happiness, rainbows, and shiny things await those who have been good.

    Long shot, but the last time my page didn't load, the problem was caused by the page template still had leftover code from an app I'd removed from my apps config, but forgot to remove code in template that was trying to load it. Told you it was a long shot!


    I have a situation where a client wishes to have multiple administrators look after individual pages

    To be picky, "administrators" are by definition top dog, granted full rights to see anything.

    I had a similar situation where I wanted different staff in the company to manage only the content they were responsible for, so guess what I did to solve the problem? I asked them to edit only what they're responsible for.

    If you can't trust someone to follow basic instructions about the pages they're meant to edit, then perhaps they shouldn't be given access at all? In my case, I still created a general "editor" role with limited scope, and I also encouraged them to save bookmarks to the edit pages or collections they worked on. That way, they don't see the list of all pages in their editing routine.

    Apart from that, it sounds like a job for the members app. Not sure how you'd get uploaded content published to pages though. Without knowing exactly what you're hoping to end up with, hard to say.

    not going to be a viable option going forward

    Are dinner plates really smashing around us? Websites crashing on the floor in pieces? I'm not seeing that. Remember it doesn't need to do everything under sun, it's a platform you can extend however you like. V3 did bring a lot of cool stuff, it's got a premium vibe, easy learning curve, and underrated "secret sauce" of how it combines with templating and functions. In terms of a fast user-friendly place to put web content, for your apps or whatever, I struggle to see other options able to pull the same bag of tricks. I like open source too, but always happy to pay for well-designed software. When clients understand that, they're not going to listen to your post. BTW, you signed up just to announce you won't be using the software anymore?

    I see. I've built one shop site and never had this issue, but looking on my dev site, yes it does default to zero...

    But only if I deliberately leave the sale_price blank, and also check the box "use sale price"! That's human error. But I suppose it's fair enough to want to defend against human error when the consequence might mean selling an expensive item for $0.

    Perhaps I'm missing something, but can't you simply check if sale price is populated?

    <perch:if exists="sale_price">

    Another suggestion is to add a checkbox to the template:

    <perch:shop id="on_sale" type="checkbox" value="1" label="Use sale price" suppress="true" />

    And then :

    <perch:if exists="sale_price AND on_sale">

    $<perch:shop id="sale_price" />

    <perch:else />

    $<perch:shop id="price" />

    The benefit here is that you can have a sale price ready to go, and then check box to activate it.

    Maybe it's just me but I don't mind infrequent updates, and value a stable version. I would keep using Perch for years even without updates, because of the extensive toolset. I'd be surprised to find a similar range of tools that often effortlessly work together and link up well. All those templating attributes! They get me out of trouble all the time. With Wordpress, developing there felt like I was continuously falling down an icy chasm :-)

    Thanks but I already knew about that. I was hoping to get the total in the collection function, as I'm outputting the total at the top of the page, not down near the pagination links.

    The other problem with the pagination template var "total", is it only kicks in when there's pagination. So if there's 20 or less results when pagination count is 20, that variable can't be accessed.

    It's okay I've found a workaround. I'm using a condition where count ($col_item) is used when there's not enough results for pagination, and the pagination template var when there's more than 1 page of results. Bit messy, but works. And to get the total up the page where I need it displayed, I'm using CSS :

    essentially :

    <perch:if exists="paging">


            .num-items::before {

                content: "<perch:content id="total" type="hidden">";


            <perch:if id="number_of_pages" match="gt" value="1" >

                .num-items-b {display:none}





    I have a user-filtered list working great and Perch Runway really is amazing for enabling this powerful filtering.

    But I noticed that if I use pagination, the number of items returned is confined to that number. I want pagination, but I want to inform the user the total results.

    Now... I *could* perform another identical call, but without pagination. It works, but it feels like a waste of energy to do double the load on server just to get that number. Is there any way I get can the total results in just the first call? Seems like that number must be available somewhere, otherwise how would it know how many page links to render?

    code: if 40 results are found and paginated into 20 per page, it only reports 20 were found when I use php count() to get that info. I'm hoping there's an easy way. I wanted to avoid too much complicated php :-)

    edit how do i format code on this forum so it's neat?

    1. $col_item = perch_collection('my_collection', [ 'filter' => $filters, 'template' => 'my-collection/my-template.html', 'paginate' => true, 'count' => 20, 'sort' => $sort_id, 'sort-order' => $sort_order, 'sort-type' => $sort_type, 'skip-template' => true, 'return-html' => true, ]);

    Simple, minimal, stylish, artistic colours, good photography...

    BUT... I gather it's meant for mobiles only, not 34 inch ultrawide desktop monitors! It's a common problem as more designers forget to cater for the larger end of responsive. Everything scales up to super jumbo size on large displays.

    For example on your /gallery index page, you have 4 categories, but only 3 are visible on my screen, even when I have more than 80 cm of physical horizontal screen space available I still need to horizontally scroll to see the 4th category. That's a "mobile first, desktop never" approach.

    I was reading a thread about perch 4,

    Maybe you missed this quote from the lead dev:

    "progress is still being made, updates are still coming, and support is still here. Perch isn't about to stop or disappear or anything like that. It's just that at the current volume of license sales I need to do other work"

    Fair enough.

    Life can't be too bad when your side-hustle is Perch Runway! good times.

    Same here, found a bunch of member sign-up spam on a client's shop site. Most of it from last November.

    I tried adding the honeypot, but it didn't work. It seems the honeypot field only works with the forms app, not shop member rego?

    In theory it should be easy to solve when the spammers put links and sentences about bitcoin in the first and last name fields. Detecting this with javascript is easy, but then I'm not sure what to do from there. Ideally the form would successfully submit, as with honeypot, but not go all the way to creating a new member.

    Also, no bulk deletion of members! Ouch, all that clicking delete/confirm over and over.

    I have an orders history page too, where all previous invoices are listed. I added a print style sheet to the invoice template, so the invoice page looks nicely formatted when printed, without site navigation etc.

    Web browsers can save to PDF via the print dialog box, so there's no need to re-create functionality that's built into browser. If you're worried people don't know about this, you could always mention it on the invoice page. Anyway, good luck if you decide to generate PDFs!

    If customer already receives invoice via html email, my thoughts on this are it's up to user to manage what happens from that point. Some might want to "print" or downloaded as PDF, which most email clients and web browsers can do when select print from the menu. I guess you want to ignore that and generate the PDF anyway.

    I hate code bloat and that's why I like Perch

    Have you made a site with Perch before? If you try, you can make a bloated whale with Perch. Your frontend is up to you.

    If you're looking for 5 star reviews of Perch, mid-way through asking for help on contact forms... that could be a red flag.

    Or just build the demo site. Stay up late a few nights in a row. Just do it! Then you can write your own review of Perch.

    If you want super-flexible form submission control, maybe use an external service such as JotForm, then embed on your site. These services are not always free, and come with some bloat and performance loss compared with native forms, but have handy form builders and conditional logic widgets and other cool features. They make it easy to send data on to other systems like google docs, zapier etc.

    I think you've answered it yourself. Just add the code as you suggested into the author.html template.

    Then in post.html template, add it again, remember to make it hidden field like the others...

    1. <perch:if exists="authorGivenName">
    2. by <span class="p-author"><perch:blog id="authorGivenName" type="hidden" /> <perch:blog id="authorFamilyName" type="hidden" />, <perch:blog id="authorRole" type="hidden" /></span>
    3. </perch:if>