Jump to content

teraßyte

Clients
  • Posts

    33,969
  • Joined

  • Last visited

  • Days Won

    59

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Projects

Release Notes v5

Invision Community 5 Bug Tracker

Forums

Events

Store

Gallery

Bug Comments posted by teraßyte

  1. 1 hour ago, Esther E. said:

    I'm not asking for the output. Can you please post the content of the custom wrapper?

    It's the one included by default with the Pages application. I haven't made any changes to it. 🤷‍♂️

    Here you go just in case, though:

    <!DOCTYPE html>
    <html lang="{expression="\IPS\Member::loggedIn()->language()->bcp47()"}" dir="{{if member.language()->isrtl}}rtl{{else}}ltr{{endif}}" {template="htmlDataAttributes" app="core" group="global" location="front" params=""}>
    	<head>
    		<title>{expression="output.getTitle( $title )"}</title>
    		{template="prefersColorSchemeLoad" app="core" group="global" location="front" params=""}
    		{template="includeMeta" app="core" group="global" location="global" params=""}
    		{template="includeCSS" app="core" group="global" location="global" params=""}
    	</head>
    	<body class="ipsApp ipsApp_front ipsLayout_noBackground" {{if output.globalControllers}}data-controller='{expression="implode( ',', output.globalControllers )"}'{{endif}}>
    		{$html|raw}
    		{template="includeJS" app="core" group="global" location="global" params=""}
    	</body>
    </html>
  2. 24 minutes ago, Ehren said:

    Thanks. What page is that happening on? I'll take a closer look 🙂 

    That's from a custom application I made so you won't find it anywhere. But the applications page @Adriano Faria mentioned works just fine for testing. 😋

     

    ===

    Since the row uses a flex display, the last item's width is based on the number of buttons it has:

    image.png

    The ipsTree_controls class needs a fixed width so it's always the same no matter how many buttons are displayed.

  3. 2 hours ago, Esther E. said:

    The custom wrapper is definitely possible, but there are certain data attributes and JS that are required in order for the page editor to work. 

    I'm not sure why you can't load whatever JS you need from a custom wrapper? 

    I'm not even sure what JS (or HTML?) is required for the page editor to work. There is no indication anywhere. Not even the default CustomWrapper template available in ACP has the correct elements needed.

     

    @Esther E. Basically, my question is: how do I edit the widgets/blocks on a page without the Suite HTML wrapper (no wrapper or a custom wrapper)?

    There's no way to do it right now unless we:

    • [ACP] Edit the page and enable the Suite HTML Wrapper
    • [Front End] Edit the blocks we need on the page
    • [ACP] Edit the page again to disable the Suite HTML Wrapper

    Having to do this every time we want to edit the content (blocks/widgets) on a page without the suite wrapper is absurd. 🤦‍♂️

  4. Well, I see the problem now:

    1. I edited the page to use the IPS Wrapper => I could edit the converted Raw HTML block (obviously no output since it's a broken PHP block)
    2. I tried to disable the IPS Wrapper but the page won't save and requires me to select a Custom Wrapper value. Leaving it on None throws an error the field is required.
    3. After selecting Custom Wrappers > CustomWrapper I was able to save the page.
      • Viewing the page on the front end with the custom wrapper, only some CSS files are loaded but the JS files for the core app are ALL included (in addition to some custom JS files from a custom app because I'm adding them through the Loader extension).
    4. Editing the Raw HTML block with the custom wrapper on the front end is still impossible because not all the required HTML/JS is loaded.
      • Only by re-enabling the IPS Wrapper, you can edit the page blocks.

     

    The summary is:

    • Using no wrapper to output only a specific content is no longer possible.
      • On my site, I use a PHP block to output a modification's update check data.
      • I also used a similar setup for a lot of clients' requests, this is no longer possible and requires a full application just to output some simple JSON data or text.
      • It's a huge step backward for flexibility, but the only reply I ever got was to "make an application on v5" which takes a lot more time for basically no gain (if not wasting further of my already limited time). A couple of times is not a problem, but pile up loads of similar things, and the wasted time adds up quickly. 🤷‍♂️
    • Using a custom wrapper makes it impossible to start the page editor on the front end (the only place where you can edit a page's content now).
    • Basically, pages without the IPS wrapper are broken and unusable. We should have the option to edit such pages' content in the ACP with the usual textarea/Codemirror field instead. 
  5. The 4.x page is setup like this:

    • Use suite HTML wrapper: DISABLED
    • Page Wrapper: NONE

    And the content textarea contains a single block:

    {block="custom_block_with_code_php"}

     

    How do I edit the page's content on v5 on the front end? With no wrapper, there is no HTML/CSS to load the block manager, widgets, page editor, etc.

    I get a blank page and looking at the page's source code, here's what I have:

    Quote
    
    <div id="elCmsPageWrap" data-pageid="9">
    
    
    <div>
    	
    
        
        
    
    
    
    <section
    	class="cWidgetContainer cWidgetContainer--main"
    	data-controller='core.front.widgets.area'
    	data-role='widgetReceiver'
    	data-orientation='vertical'
    	data-widgetArea='col1'
    	style=""
    	
    	    data-widget-layout="wrap"
        
        
    >
        
            
    
    
    
    <section
    	class="cWidgetContainer cWidgetContainer--isWidget"
    	data-controller='core.front.widgets.area'
    	data-role='widgetReceiver'
    	data-orientation='vertical'
    	data-widgetArea='col1'
    	style=""
    	
    	    data-widget-layout="stack"
        
    	    data-widget-gap-size="20"
        
    	    data-widget-orientation="vertical"
        
        
    >
        
    
        
            
            <div class="ipsWidget__content--wrap">
                <div
                    class='ipsWidget ipsWidget--vertical'  data-blocktitle="Raw HTML" data-blockID="app_cms_Codemirror_1641816563" data-blockErrorMessage="This block cannot be shown. This could be because it needs configuring, is unable to show on this page, or will show after reloading this page." data-menuStyle="menu" data-blockConfig="1" data-searchterms="code,rich,plain,editor"
                    data-controller='core.front.widgets.block'
                >
                
    <div class='ipsWidget__content ipsWidget__padding'>
    	
    
    </div>
    
            </div>
            </div>
            
        
    
        
    </section>
    
        
    
        
    
        
    </section>
    
        
    
    </div>
    
    </div>

    While we could edit the page's content in ACP on v4, in v5 we are forced to edit it on the front, but without enabling the suite wrapper nothing works.

     

    I also can't edit the PHP block in ACP, but I made a separate bug report for that.

×
×
  • Create New...