• R rsepierre

    Yes, in the customize panel, go to Mobile (smartphone) > Mobile Menu

    The checkbox "Use desktop menu style" should be there


    posted in General Discussion read more
  • R rsepierre


    After looking into it. There doesn't appear to be an easy way to enable this via third-party plugin without basicaly copying entire files, disabling natives classes and use the extended ones. Which wouldn't be update friendly anyway.

    Would really appreciate if this could come in a future update.

    It's should be a 10 lines update max (adding checkbox and everything) and this could be the result.


    Would just need to add this option in layoptions.

    Then in the git diff shown above, instead of directly changing phone to tablet, use get_option('menu_breakpoint', 'default') option to use appropriate breakpoint.

    This would be pretty neat I think.

    From what I've seen it doesn't break page layout if you keep those options in wp_localize_script( 'frontend-app', 'frontendPassedData', <options>) (just as in the git diff)

    'breakpoint' => MiscOptions::$phone_breakpoint,
    'tabletbreakpoint' => MiscOptions::$tablet_breakpoint,

    posted in General Discussion read more
  • R rsepierre


    Same problem, I have a pretty large menu.

    Idealy I would be able to either set a custom break-point for the menu OR state that I want the burger style menu to start from tablet breakpoint instead of mobile.

    This way I could have an adaptive layout for content : desktop > tablet > mobile.
    But a menu that goes directly to desktop > burger style, starting from tablet breakpoint.

    UPDATE : I have been able to do exactly that by changing just four lines of code in the theme

    Desktop layout Tablet layout Phone Layout
    Classic Menu Burger Menu Burger Menu

    This is a bit "rough" but adding a checkbox would be a piece of cake.

    This is the git diff for current changes

    I will also try to make a snippet that you can add to custom plugin that i'll use in case you don't intend to implement it.

    warning: LF will be replaced by CRLF in themes/lay/customizer/css_output.php.
    The file will have its original line endings in your working directory.
    warning: LF will be replaced by CRLF in themes/lay/frontend/frontend.php.
    The file will have its original line endings in your working directory.
    diff --git a/themes/lay/customizer/css_output.php b/themes/lay/customizer/css_output.php
    index b793d93..570ab02 100644
    --- a/themes/lay/customizer/css_output.php
    +++ b/themes/lay/customizer/css_output.php
    @@ -564,7 +564,7 @@ class CSS_Output{
             // mobile menu fontsizes
             $mobileStyles .= CSS_Output::generate_css(' li a', 'font-size', 'mobile_menu_fontsize', Customizer::$defaults['mobile_menu_fontsize'], '', 'px');
    -        $breakpoint = get_option('lay_breakpoint', 600);
    +               $breakpoint = get_option('lay_tablet_breakpoint', 600);
             $breakpoint = (int)$breakpoint;
                    $tablet_breakpoint = get_option( 'misc_options_textformats_tablet_breakpoint', 1024 );
    @@ -1159,4 +1159,4 @@ class CSS_Output{
    -new CSS_Output();
    \ No newline at end of file
    +new CSS_Output();
    diff --git a/themes/lay/frontend/frontend.php b/themes/lay/frontend/frontend.php
    index b3a177d..c984660 100644
    --- a/themes/lay/frontend/frontend.php
    +++ b/themes/lay/frontend/frontend.php
    @@ -414,10 +414,10 @@ class Frontend{
                    '<!-- lay media query styles -->
    -                       @media (min-width: '.(MiscOptions::$phone_breakpoint+1).'px){
    +                       @media (min-width: '.(MiscOptions::$tablet_breakpoint+1).'px){
    -                       @media (max-width: '.(MiscOptions::$phone_breakpoint).'px){
    +                       @media (max-width: '.(MiscOptions::$tablet_breakpoint).'px){
    @@ -712,7 +712,7 @@ class Frontend{
                                    'misc_options_thumbnail_video' => $misc_options_thumbnail_video,
                                    'misc_options_thumbnail_mouseover_image' => $misc_options_thumbnail_mouseover_image,
                                    'breakpoint' => MiscOptions::$phone_breakpoint,
    -                               'tabletbreakpoint' => get_option('lay_tablet_breakpoint', 1024),
    +                               'tabletbreakpoint' => MiscOptions::$tablet_breakpoint,
                                    'shortcodes' => LayShortcodes::$shortcodes_array,
                                    'bg_color' => $bg_color,
                                    'bg_image' => $bg_image,

    posted in General Discussion read more
  • R rsepierre

    Could come handy especialy when working width white text on dark backgrounds.



    posted in Feedback read more
  • R rsepierre

    @arminunruh & @mariusjopen I found a very little change to make laytheme compatible with the new qtranslate-XT plugin.

    The only thing is to update this bit in frontend.php

    // $is_qtranslate_active = is_plugin_active('qtranslate-x/qtranslate.php');
    // replace with
    $is_qtranslate_active = is_plugin_active('qtranslate-x/qtranslate.php') || is_plugin_active('qtranslate-xt-master/qtranslate.php');

    and that bit in gridder.php

    // 'qTranslateX' => is_plugin_active( 'qtranslate-x/qtranslate.php' )
    // replace with 
    'qTranslateX' => is_plugin_active( 'qtranslate-x/qtranslate.php' ) || is_plugin_active('qtranslate-xt-master/qtranslate.php')

    Going further, I think you could come up with a "fork/version blind" test for qtranslate activation like

    $is_qtranslate_active = function_exists('qtranxf_init_language');

    But it might complicate things especialy for laygridder as qtranslate must be loaded BEFORE 'qtranxf_init_language' is tested.

    I didn't test 100% of the translation functionnalities ( in every blocks : carousel / stacks / grids etc ) but this should still be a no-cost improvement to implement :) !

    posted in General Discussion read more
  • R rsepierre

    Hi Guys,

    I think qTranslate is dead since 2016 (the author vanished).

    Some guys are turning the plugin in a community driven plugin ( and I tested it early may 2019 and it worked flawlessly with layTheme.

    It is now broken, but I don't think it's because of a layTheme/qTranslate-XT update but rather a wordpress core update.

    Maybe there is not much to chance to make it work again ?
    I'll try some tweaks to make it work today.

    posted in General Discussion read more
  • R rsepierre

    It is working on layTheme !
    I don't know if you did roll out the same fix for layGridder because I'm don't have a subfolder in the url anymore. But I did update layGridder plugin and it now shows a absolute url in the code instead of the relative url. So I'm guessing it's working there too.

    posted in Bug Reports read more
  • R rsepierre

    There is no doubt it will happend 100% of the time. This screenshot joined with the wordpress documentation holds all the information we need.

    The background-image url for the gridder's back-end in the inspector is url(/wp-content/etc).

    I did not write that url, layTheme did and layGridder does the same.

    Obversations/Statements :
    1 - So we can first state that in the backend, layTheme and layGridder are using relative url.
    2 - Looking through the documentation we can see that wordpress mostly returns absolute urls.
    3 - layThemeGridder is most likely using a custom solution to build that url.
    4 - One other point to make is that wordpress has no native way to return the missing part between the domain and wordpress folder.

    Problem :
    Because the relative URL starts with a / it uses the domain as a starting point. Without the first / it would start with the current folder as a starting point. Since oversation n°4 states that wordpress is not able to provide you the difference between domain root and wordpress root : If wordpress root is not the same as the domain root, the relative URL will fail 100% of the time.

    Solutions :
    There is two solutions. One that keeps using the relative url (if that is important for some reason) and one that is using the absolute url (the easiest one).

    With relative path :
    The problem is the use of the first / that uses the domain as a starting point.
    if instead we use the current page as a starting point (which is in wp-admin) the fix is to add ../ at the begining of the url : ../wp-content/etcetc. This will go up one folder from "wp-admin" essentialy landing you in the wordpress's root, than add the relative path to the url.

    Howerver, it might still be an issue with some very edge cases. Some plugins allows you to restructure wordpresses urls. changing the login url, wp-admin urls, etc etc. Because relative URL are not talking at all to wordpress, and are only using their own logic. It is still possible that "something is different"

    This is why I would recommend using the stantard following solution

    With absolute path :
    Just fetch the image url with a wordpress function, it will return the absolute url to the image. Whether you did some weird things to your wordpress or just put wordpress in a subfolder.

    I'm actually amazed that this issue wasn't brought up before as it is pretty common to put wordpress in a subfolder. Though maybe, because it works in the front-end, people either don't understand it's an issue or those who do are fine with it.

    Now if that is a high priority issue or not is up to the team to decide. I actually don't mind that much (hense what I just said).
    And you may need testing to fix the issue : How many different blocks and functionnality use those relative urls in both layTheme and layGridder. For exemple it's not working for background-video, background-images and the carousel plugin. I think "plain images" elements (the ones you drag and drop) are fine ?

    But if I can avoid you some testing to determine if it's an edge case : it's not.
    There is no way it will work with the current configuration on a wordpress located in a subfolder.

    posted in Bug Reports read more
  • R rsepierre

    in the front end of the gridder it's not relative (it's a full uri : protocole, www, subdomain, domain, extension, folders, files),
    in the back-end, "background-image" in the gridder : paths are relative ( exemple url(/wp-content/uploads/2018/12/RED-STAR_DOCUMENTARY24-1024x1195.jpg);" and don't use the absolute url.

    see screenshot :

    Like I said, it does this with background-images, with the carrousel plugins, with background-video and maybe other things. I did not test extensively. But once I saw it did not work on every current project with laytheme/gridder I decided to post here because I think that being able to see what you are building is one of the best feature of the lay family and it should not be too hard to fix.

    This will happend with every setup for which the wordpress folder isn't the domain root folder.

    posted in Bug Reports read more
  • R rsepierre

    I have noticed that for Laytheme aswell as for Laygridder, on certain modules and functionnality, the gridder doesn't use the right URL in the backend (editor page). So images, doesn't show.

    To me this happend with the row background-image and row background-video on laygridder, and the carousel plugin on laytheme. (I didn't test it extensively, just came accross it).

    Both with the layGridder and with the layTheme had in common that I wasn't using a "standard" url.

    For laytheme because website is still in development, I put wordpress in a sub-folder[imagepath]

    In the console I get failed to load resource error and the URL without the "/wpsubfolder/" part.

    Failed to load resource: the server responded with a status of 404 (Not Found).

    For laygridder the error was pretty similar except I was running the website on localhost.
    I'm guessing this might be due to the use of relative path instead of absolute url to load the media ?

    On the front-end, the content shows perfectly.

    posted in Bug Reports read more