当前位置: 首页>>代码示例>>PHP>>正文


PHP FLBuilderModel::get_categorized_nodes方法代码示例

本文整理汇总了PHP中FLBuilderModel::get_categorized_nodes方法的典型用法代码示例。如果您正苦于以下问题:PHP FLBuilderModel::get_categorized_nodes方法的具体用法?PHP FLBuilderModel::get_categorized_nodes怎么用?PHP FLBuilderModel::get_categorized_nodes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FLBuilderModel的用法示例。


在下文中一共展示了FLBuilderModel::get_categorized_nodes方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: render_js

 /**
  * Renders and caches the JavaScript for a builder layout.
  *
  * @since 1.0
  * @return void
  */
 public static function render_js()
 {
     // Delete the old file.
     FLBuilderModel::delete_asset_cache('js');
     // Get info on the new file.
     $nodes = FLBuilderModel::get_categorized_nodes();
     $global_settings = FLBuilderModel::get_global_settings();
     $rows = FLBuilderModel::get_nodes('row');
     $asset_info = FLBuilderModel::get_asset_info();
     $compiled = array();
     $js = '';
     // Layout config object.
     ob_start();
     include FL_BUILDER_DIR . 'includes/layout-js-config.php';
     $js .= ob_get_clean();
     // Main JS
     $js .= file_get_contents(FL_BUILDER_DIR . 'js/fl-builder-layout.js');
     // Loop through the rows.
     foreach ($nodes['rows'] as $row) {
         // Setup row vars
         $settings = $row->settings;
         $id = $row->node;
         // Include the row instance JS
         ob_start();
         include FL_BUILDER_DIR . 'includes/row-js.php';
         $js .= ob_get_clean();
     }
     // Loop through the modules.
     foreach ($nodes['modules'] as $module) {
         // Global module JS
         $file = $module->dir . 'js/frontend.js';
         if (file_exists($file) && !in_array($module->settings->type, $compiled)) {
             $js .= "\n" . file_get_contents($file);
             $compiled[] = $module->settings->type;
         }
         // Instance module JS
         $file = $module->dir . 'includes/frontend.js.php';
         $settings = $module->settings;
         $id = $module->node;
         if (file_exists($file)) {
             ob_start();
             include $file;
             $js .= ob_get_clean();
         }
     }
     // Add the path legacy vars (FLBuilderLayoutConfig.paths should be used instead).
     $js .= "var wpAjaxUrl = '" . admin_url('admin-ajax.php') . "';";
     $js .= "var flBuilderUrl = '" . FL_BUILDER_URL . "';";
     // Call the FLBuilder._renderLayoutComplete method if we're currently editing.
     if (stristr($asset_info['js'], '-draft.js') || stristr($asset_info['js'], '-preview.js')) {
         $js .= "; if(typeof FLBuilder !== 'undefined' && typeof FLBuilder._renderLayoutComplete !== 'undefined') FLBuilder._renderLayoutComplete();";
     }
     // Include FLJSMin
     if (!class_exists('FLJSMin')) {
         include FL_BUILDER_DIR . 'classes/class-fl-jsmin.php';
     }
     // Save the js
     if (!empty($js)) {
         file_put_contents($asset_info['js'], FLJSMin::minify($js));
     }
 }
开发者ID:komcdo,项目名称:iSSNA-WordPress,代码行数:67,代码来源:class-fl-builder.php

示例2: node_modules_support_partial_refresh

 /**
  * Checks to see if all modules in a node support partial refresh.
  *
  * @since 1.7
  * @access private
  * @param object $node The node to check.
  * @return bool
  */
 private static function node_modules_support_partial_refresh($node)
 {
     $nodes = FLBuilderModel::get_categorized_nodes();
     if ('row' == $node->type) {
         $template_post_id = FLBuilderModel::is_node_global($node);
         foreach ($nodes['groups'] as $group) {
             if ($node->node == $group->parent || $template_post_id && $node->template_node_id == $group->parent) {
                 foreach ($nodes['columns'] as $column) {
                     if ($group->node == $column->parent) {
                         foreach ($nodes['modules'] as $module) {
                             if ($column->node == $module->parent) {
                                 if (!$module->partial_refresh) {
                                     return false;
                                 }
                             }
                         }
                     }
                 }
             }
         }
     } else {
         if ('column-group' == $node->type) {
             foreach ($nodes['columns'] as $column) {
                 if ($node->node == $column->parent) {
                     foreach ($nodes['modules'] as $module) {
                         if ($column->node == $module->parent) {
                             if (!$module->partial_refresh) {
                                 return false;
                             }
                         }
                     }
                 }
             }
         } else {
             if ('column' == $node->type) {
                 foreach ($nodes['modules'] as $module) {
                     if ($node->node == $module->parent) {
                         if (!$module->partial_refresh) {
                             return false;
                         }
                     }
                 }
             }
         }
     }
     return true;
 }
开发者ID:onedaylabs,项目名称:onedaylabs.com,代码行数:55,代码来源:class-fl-builder-ajax-layout.php

示例3: render_column_modules_js

 /**
  * Renders the JavaScript for all modules in a single column.
  *
  * @since 1.7
  * @param string|object $col_id A column ID or object.
  * @return string
  */
 public static function render_column_modules_js($col_id)
 {
     $col = is_object($col_id) ? $col_id : FLBuilderModel::get_node($col_id);
     $nodes = FLBuilderModel::get_categorized_nodes();
     $compiled = array();
     $js = '';
     // Render the JS.
     foreach ($nodes['modules'] as $module) {
         if ($col->node == $module->parent) {
             $js .= self::render_module_js($module, $compiled);
         }
     }
     // Return the JS.
     return $js;
 }
开发者ID:Nirajjcu,项目名称:minime3d,代码行数:22,代码来源:class-fl-builder.php


注:本文中的FLBuilderModel::get_categorized_nodes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。