From 5f0e056ce5a783ef5bc2b833a47626c34a6f9560 Mon Sep 17 00:00:00 2001 From: Peter Keung Date: Tue, 14 Feb 2017 02:54:33 -0800 Subject: [PATCH] EZP-26182: Support class limitation in block custom attributes (#79) (cherry picked from commit f27c268b25a5cfe0debb5a8eef2b75fc073a267c) --- .../ezextension/ezflow/datatypes/ezpage/ezpagetype.php | 6 +++++- .../ezflow_extension/ezextension/ezflow/settings/block.ini | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/ezflow_extension/ezextension/ezflow/datatypes/ezpage/ezpagetype.php b/packages/ezflow_extension/ezextension/ezflow/datatypes/ezpage/ezpagetype.php index dd20dbdb..df307fbf 100644 --- a/packages/ezflow_extension/ezextension/ezflow/datatypes/ezpage/ezpagetype.php +++ b/packages/ezflow_extension/ezextension/ezflow/datatypes/ezpage/ezpagetype.php @@ -890,6 +890,7 @@ function customObjectAttributeHTTPAction( $http, $action, $contentObjectAttribut $page = $contentObjectAttribute->content(); $zone = $page->getZone( $params[1] ); $block = $zone->getBlock( $params[2] ); + $customAttributeIdentifier = $params[3]; $blockINI = eZINI::instance( 'block.ini' ); $browseParameters = array( 'action_name' => 'CustomAttributeBrowse', @@ -902,12 +903,15 @@ function customObjectAttributeHTTPAction( $http, $action, $contentObjectAttribut if( $blockINI->hasVariable( $block->attribute( 'type' ), 'CustomAttributeStartBrowseNode' ) ) { $customAttributeStartBrowseNode = $blockINI->variable( $block->attribute( 'type' ), 'CustomAttributeStartBrowseNode' ); - $customAttributeIdentifier = $params[3]; if( isset( $customAttributeStartBrowseNode[$customAttributeIdentifier] ) ) { $browseParameters['start_node'] = $customAttributeStartBrowseNode[$customAttributeIdentifier]; } } + if( $blockINI->hasVariable( $block->attribute( 'type' ), 'CustomAttributeAllowedClasses_' . $customAttributeIdentifier ) ) + { + $browseParameters['class_array'] = $blockINI->variable( $block->attribute( 'type' ), 'CustomAttributeAllowedClasses_' . $customAttributeIdentifier ); + } eZContentBrowse::browse( $browseParameters, $module ); break; diff --git a/packages/ezflow_extension/ezextension/ezflow/settings/block.ini b/packages/ezflow_extension/ezextension/ezflow/settings/block.ini index 01c936d1..3c20e60e 100644 --- a/packages/ezflow_extension/ezextension/ezflow/settings/block.ini +++ b/packages/ezflow_extension/ezextension/ezflow/settings/block.ini @@ -78,6 +78,8 @@ RootSubtree=1 # UseBrowseMode[node_id]=true # Optional: set the browse mode start node for a custom attribute # CustomAttributeStartBrowseNode[node_id]= +# Optional: limit the browse mode selection to specific classes +# CustomAttributeAllowedClasses_node_id[]=image # ViewList[]=variation1 # ViewName[variation1]=Main story 1 #