[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * Joomla! Content Management System 5 * 6 * @copyright (C) 2015 Open Source Matters, Inc. <https://www.joomla.org> 7 * @license GNU General Public License version 2 or later; see LICENSE.txt 8 */ 9 10 namespace Joomla\CMS\Document\Renderer\Html; 11 12 use Joomla\CMS\Document\DocumentRenderer; 13 use Joomla\CMS\Factory; 14 use Joomla\CMS\Helper\ModuleHelper; 15 use Joomla\CMS\Layout\LayoutHelper; 16 17 // phpcs:disable PSR1.Files.SideEffects 18 \defined('JPATH_PLATFORM') or die; 19 // phpcs:enable PSR1.Files.SideEffects 20 21 /** 22 * HTML document renderer for a module position 23 * 24 * @since 3.5 25 */ 26 class ModulesRenderer extends DocumentRenderer 27 { 28 /** 29 * Renders multiple modules script and returns the results as a string 30 * 31 * @param string $position The position of the modules to render 32 * @param array $params Associative array of values 33 * @param string $content Module content 34 * 35 * @return string The output of the script 36 * 37 * @since 3.5 38 */ 39 public function render($position, $params = array(), $content = null) 40 { 41 $renderer = $this->_doc->loadRenderer('module'); 42 $buffer = ''; 43 44 $app = Factory::getApplication(); 45 $user = Factory::getUser(); 46 $frontediting = ($app->isClient('site') && $app->get('frontediting', 1) && !$user->guest); 47 $menusEditing = ($app->get('frontediting', 1) == 2) && $user->authorise('core.edit', 'com_menus'); 48 49 foreach (ModuleHelper::getModules($position) as $mod) { 50 $moduleHtml = $renderer->render($mod, $params, $content); 51 52 if ($frontediting && trim($moduleHtml) != '' && $user->authorise('module.edit.frontend', 'com_modules.module.' . $mod->id)) { 53 $displayData = array('moduleHtml' => &$moduleHtml, 'module' => $mod, 'position' => $position, 'menusediting' => $menusEditing); 54 LayoutHelper::render('joomla.edit.frontediting_modules', $displayData); 55 } 56 57 $buffer .= $moduleHtml; 58 } 59 60 $app->triggerEvent('onAfterRenderModules', array(&$buffer, &$params)); 61 62 return $buffer; 63 } 64 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |