Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/18/2021 in all areas

  1. corporate.blue-tomato.com is a new Website about the Corporate behind Blue Tomato. You can find informations about the history and values of Blue Tomato and also all open job positions. Used Modules ProCache ProcessGraphQL (used with React on the job overview page for searching/filtering the jobs) ProFields: Combo ProFields: RepeaterMatrix (Used for some kind of a "PageBuilder") SeoMaestro TemplateEngineSmarty / TemplateEngineFactory
    3 points
  2. Recently needed to add something similar to a site I've been working on, and ended up with a slightly different approach. Can't share the code right now, but here's the general concept: Store all allowed branches in user profile, similar to the screenshot above. Hook into ProcessPageList::execute and add a select option for choosing which branch is "active". Hook into AdminRestrictBranch::getBranchRootParentId and check if a branch GET param was provided and matches one of those stored in user profile; if yes, store the value in session. Return either the first branch from user profile, or the value from session. Technically it's only restricting the user to one branch at a time, so there are some limitations, but in my specific case that's actually preferable: this lets users focus on one section of the site at a time ?
    2 points
  3. Not necessarily in a noticeable way, but I'd expect that it would sooner or later bite you in the backside. If another redirect happens for any reason (https upgrade, change in subdomain, etc) beforehand, Google sees two consecutive redirects when accessing / and immediately penalizes you. Outside of web apps, I try to use redirects only for two reasons: either the site moved to a different domain, or the path to a page changed. That's the way I would do it. And make sure that you also set a canonical header in your home page that points to the Location-1 page so search engines know to treat them as one page instead of duplicated content.
    1 point
  4. The link above is broken.
    1 point
  5. @Mackski - take a look at the "Copy or Move Repeater Items to Other Page" action in the AdminActions module. What you've done may work for some repeaters, but won't handle images if there is an image field involved.
    1 point
  6. Just chiming in - I don't have a solution in terms of why the sessions are not clearing when you visit the Setup -> Sessions, but for me, going to Setup -> Sessions does clear the old sessions. The first time I realized this was an issue was seeing the number of records in the sessions table; once i cleared those, the database shed something like 50-100MB. I also read some of the other solution (involving the ini_set) and this didn't work - it seemed to make the site basically tank, and run really slow. ... and i guess my point was that this sessions not clearing in the DB is still an open issue, at this time..
    1 point
  7. yeah, the module LanguageSupportPageNames offers this in the module settings.
    1 point
  8. @Erik for the sake of simplicity lets assume you have only a field for price. Your filter would be in a category/listing template, that lists your products(like in my example) /* The general outline would be: 1. Check if a filter was set by checking GET-parameter in URL 2. Read the parameter and build your selector for the $pages->find(""); 3. Execute the $pages->find with your selector 4. In case no filter was set execute your standard pages->find 5. List the result */ // 1. and 2. Check for GET-parameter in your URL if($input->get->price != ''){ $price = $sanitizer->int($input->get->price);// in my case price is integer not float $selector .= ', price<='.$price; $value_price = $price;// save the value for use in the filter input } // ...more parameter/filter to check here // ... // Very simplified... if($input->get){ // 3. execute the find on your products $allpages = $pages->find("parent=$page, $selector"); $log->save('filter', $selector);// write the build selector to a log, so you can check it }else{ // 4. on input->get so list all unfiltered pages $allpages = $pages->find("parent=$page"); } // 5. List your products foreach($allpages as $one){ // your list of products, filtered or not... } This would be the first step. The second step would be to build the form with the filter input field: // in my case I use delayed output, but you may not... $filterform .= '<form id="filter" action="'.$page->url.'" method="get">'; $filterform .= "<label for='price'>Max Price</label>"; $filterform .= "<input type='number' name='price' id='price' placeholder='input max price...' value='$value_price'>"; // ... $content .= $filterform; The rest is pretty much fine tuning...
    1 point
  9. This site-profile for ProcessWire offers a simple and responsive blog which doesn't require any module. It works exclusively with some template files. See: https://processwire.com/modules/site-simple-blog/ Installation This site profile is intended for use with a new installation of ProcessWire. Download ProcessWire, extract all files and folders and upload it into your web server folder. Download the site profile, extract the site-simple-blog folder and upload it into the same folder. Start the installation. When prompted for Site Installation Profile select Simple Blog Profile for ProcessWire 3x and continue with installation.
    1 point
  10. Wow, this is it. I read about clip-path and wasn´t sure, if this is a possibility for this problem! Thanks a lot!
    1 point
  11. @teppo - this sounds like a pretty decent solution. I wonder if it might be something that could be incorporated into the ARB module as a feature. Let me know if you'd be willing/able to share the code at some point, or even better if you would be happy to incorporate into ARB as a PR.
    1 point
  12. You need to avoid loading the iframe just try: <iframe src="" data-src="https://player.vimeo.com/video/<?=$page->vimeoID;?>?color=5a90ff&portrait=0" data-category="marketing" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allow="autoplay; fullscreen" allowfullscreen> </iframe> This will block the whole iframe to be loaded until the user agree to us "marketing" cookies. With a little bit of css you can hide the empty iframes: iframe[src=""]{display:none};
    1 point
  13. Here is what I came up with: Codepen Let me know if it is what you were after ?
    1 point
  14. @cstevensjr, this started on Wednesday of this week when Dreamhost made some bizarre unilateral ModSecurity setting that broke every ProcessWire site's ability to upload images or files. You have to open a support ticket and tell them to change the ModSec setting for every domain on your account to allow the CMS to work. They should be able to check their logs and know what to change, but you also might have to go back and forth with them and test it. I exchanged probably 10 emails with them on Wednesday while they repeatedly tweaked the ruleset until i was able to upload again. Last night i had to send them a list of ~20 sites that they had to adjust the ruleset for and they replied today that it is now done, but only time will tell if I start to receive complaints from site owners that they can't upload. This is certainly disappointing behavior from Dreamhost, and they should make amends. Hopefully they are going to learn a hard lesson once they get an avalanche of support complaints about this. By the way, you can easily tell what the problem is, if you upload while viewing the network panel. You'll see probably a 418 error and when you view the response you'll see Internal Server Error. 418 is the DH response for anything related to ModSec. In addition you can go into the server logs and open the log file (which may be pretty huge by now) and see the mod sec errors.
    1 point
  15. Well, no different, in a way, as it uses all that code. It just provides a UI to pull it all together and automate all the export/import in the right order. More later...
    1 point
  16. Doing a little happy dance. Has only taken me a week to figure out how to match React/NextJS to work with @Sebi's amazing AppApi module with pages below the top level, ie routing. I'm sure many of you PHP/PW gurus would have figured it out sooner
    1 point
×
×
  • Create New...