本文整理汇总了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));
}
}
示例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;
}
示例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;
}