Jump to content

maxf5

Members
  • Posts

    143
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by maxf5

  1. hey guys,

    is there a way to prevent sections from caching? I am using a frontend login and when the user is logged in they can see extra content compared to the guest.
    I am using built-in template cache for certain templates and markup-cache for certain parts. Has the ProCache module any options to do that?
    The emergency solution is maybe turning off template cache and only use markup-cache except this dynamic content.

    many thanks!

  2. Hey @suntrop, thanks for the hint. I will figure that out.

    And thanks @SamC, i removed the loaders except on the startpage and news page (ajax). 
    It makes it also feel much faster.

    Quote

    Backend looks like a hell lot of work. ? 

     Yes, it sure was :) with the kind of pagebuilder inside, functions for product rendering (when some products should be mentioned in news, events, etc.), even made just3ba's nice simple contact form working in that page-builder, Lazy Crons for event begin and closing, connect fields for driver <-> products, etc.. I have a dozen of templates and fields as you can imagine. I am currently working on the frontend login for the dealers where they can find advertising material. Depending on what dealer is logged in, they only can see that material which is assigned to him via role-management. I can make a new video soon where i can show more stuff if you re interested in managing things in the backend. God bless processwire ;)

  3. Thank you for your great feedbacks!

    Quote

    I haven't done any research on it or anything, but I have a feeling that hiding the interface while it loads is something that users dislike. As designers/developers we may think it's tidier or slicker, but for the visitor who just wants to start viewing the content it's more boring and frustrating. Similar maybe to how a few years ago designers were hiding the fallback font until the custom webfont loaded, which is now considered a real no-no.

    This would be interesting to know from the visitor / not-designer  - view. I will keep it until i have some further feedbacks / user experience.

    Quote

    Totally. One of my main interests is how other people organize the backend to make it as easy as possible for clients. It's the different backends used on production sites that people new to processwire don't ever get to see, only their own one. How a client interacts with the backend is of major importance IMHO.

    Great video @maxf5

    •  

    Thank you @wbmnfktr and @SamC ! Indeed, it would be very interesting to see more backend-developing here instead the usual bootstrap frontends :P
     

  4. b25be82819db4c2798082ec563757edd_30_16001.thumb.jpg.3f38a752b2459c96f8c050ebd7126935.jpg


    Here it is. The relaunch for Captiva.

    High Quality Power since 1995! CAPTIVA GmbH was founded in 1995 and began selling graphics cards under its own CAPTIVA® label. Meanwhile, their portfolio includes modern Tablet PCs in a large selection with the right accessories, individually configurable PCs with extremely high quality standards and external hard drives. Since 2007, CAPTIVA® has been manufacturing complete PCs in the so-called built-to-order (BTO) process. Captiva builds your new PC exactly according to your requirements and wishes.

     


    During the development i felt in love with processwire's magic day for day. I was so glad that i could use processwire for this site instead of typo3 or others which probably would have taken the triple time to develop. Much more products will be added in the next time. Also the english translation will follow and a dealer-login for support, service and downloads. With that i hope to improve the page builder more and more.

    Some of the highlights of the page is the radius search for the dealers which are offering captiva products. All i had was a simple excel list with names, adresses, phone numbers, emails, websites, etc. I converted this .csv to a .json and built a script which imports all dealers as new page in processwire. The adress field is saved in the map marker module from Ryan. With that i also get the latitude and longitude for the radius search. 

    Some make-life-easiers / extras:
    + a "page-builder" created with the PageTable field (see video):  options to add images, text + images, google map, form, the radius search, gallery, parallax section, product listing (made with page reference), technic details (this will render all technical informations from the product, made with page reference and repeaters on the product), grid width options made with the range slider (for desktop, tablet and mobile), options to set a full width container or boxed, margins, borders and so on
    + central management of drivers with connected page fields for the single driver page and the product page
    + connected page field for gamecoupons and products
    + events and promotions can be managed with start- and enddate, a lazy cron will do the rest
    + widgets on category and product sites which appear randomly
    + try the blue model switcher on the start-page, it changes the video in the background, the newest products and the slider on the bottom navigation (on a subpage it redirects to the category)
    + news listing made with ajax
    + theme switcher for every site (dark / clean)
    + prepared for multi-language
    + much more.. feel free to ask


    Some insights:



    Modules used:
    Admin Custom Files
    AdminOnSteroids
    Uikit
    Clear Cache Admin
    Connect Page Fields
    Cronjob Database Backup
    Email Obfuscation (EMO)
    Map Marker
    Range Slider
    URL (Multi-language)
    Image Extra
    Map Markup (Google Maps)
    Markup Simple Navigation
    Sitemap    
    Pages2Pdf
    Database Backups
    Google Analytics
    Jumplinks    
    Upgrades
    Simple Contact Form
    Video embed for YouTube/Vimeo
    Tracy Debugger

    Frontend:
    Grunt tasks for js / sass compilation / minifaction: grunt-sass, grunt-uglify, grunt-contrib-cssmin
    bourbon.io mixins for sass (which i love next to self-made mixins)
    uikit 2 (which bothers me a bit because uikit 3 was in early beta when i started the site)
    owl carousel 2
    awesomplete
    noUiSlider
    awesomplete
    jQuery Lazy
    picturefill

    • Like 15
  5. Hm, okay. Maybe then make two arrays and merge them / prepend the array with checkboxes?

    <?php 
    $withcheckbox = $page->children("checkboxname=1"); 
    $others = $page->children("checkboxname=0, sort=-chiffre");
    $all = $withcheckbox->import($others);
    
    foreach($all as $a) {
    ..
    ?>

     

    • Like 1
  6. found a function which could be made with a cronjob 

    or this library which could be used for a module :) http://phpcrawl.cuab.de

    function crawl_page($url, $depth = 5)
    {
        static $seen = array();
        if (isset($seen[$url]) || $depth === 0) {
            return;
        }
    
        $seen[$url] = true;
    
        $dom = new DOMDocument('1.0');
        @$dom->loadHTMLFile($url);
    
        $anchors = $dom->getElementsByTagName('a');
        foreach ($anchors as $element) {
            $href = $element->getAttribute('href');
            if (0 !== strpos($href, 'http')) {
                $path = '/' . ltrim($href, '/');
                if (extension_loaded('http')) {
                    $href = http_build_url($url, array('path' => $path));
                } else {
                    $parts = parse_url($url);
                    $href = $parts['scheme'] . '://';
                    if (isset($parts['user']) && isset($parts['pass'])) {
                        $href .= $parts['user'] . ':' . $parts['pass'] . '@';
                    }
                    $href .= $parts['host'];
                    if (isset($parts['port'])) {
                        $href .= ':' . $parts['port'];
                    }
                    $href .= $path;
                }
            }
            crawl_page($href, $depth - 1);
        }
        echo "URL:",$url,PHP_EOL,"CONTENT:",PHP_EOL,$dom->saveHTML(),PHP_EOL,PHP_EOL;
    }
    crawl_page($pages->get(1)->httpUrl, 2);
  7. Hey guys,

    i am using WireCache and template cache. Wondering if there is some kind of web crawler already for processwire which is crawling all your site to warm up the cache?
    (like in Shopware eCommerce you can warm up your cache with a crawler via cronjob, etc.)


    Would be a nice feature :)

     

     

    Unbenannt.PNG

  8. take the seo_title when it isn't empty, else take the page title:

    <?php $pagetitle = $page->seo_title ?: $page->title; ?>
    <title><?= $pagetitle ?></title>

    You could do the same with the meta description. Take the seo_description if it isn't empty, else make a shortened version of your bodytext limited 156 characters.

×
×
  • Create New...