| Current Path : /var/www/html/libraries/noboss/src/Form/Field/ |
| Current File : /var/www/html/libraries/noboss/src/Form/Field/NbModulePreviewField.php |
<?php
/**
* @package No Boss Extensions
* @subpackage No Boss Library
* @author No Boss Technology <contact@nobosstechnology.com>
* @copyright Copyright (C) 2026 No Boss Technology. All rights reserved.
* @license GNU Lesser General Public License version 3 or later; see <https://www.gnu.org/licenses/lgpl-3.0.en.html>
*/
namespace Noboss\Library\Form\Field;
use Joomla\CMS\Form\FormField;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
use Noboss\Library\Util\NbUrlUtil;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
/*
* Exibe um link de pre-visualizacao do modulo
*/
class NbModulePreviewField extends FormField {
protected function getInput(){
$app = Factory::getApplication();
// Id do modulo
$id = $app->input->get('id', 0);
if(empty($id)){
return '';
}
// Url do preview (site router + idioma quando multilíngue e tag do admin existe no site)
$internalPreview = 'index.php?option=com_nobossajax&module-id=' . (int) $id . '&load-head=1';
$internalPreview = NbUrlUtil::appendAdminMatchingSiteLanguage($internalPreview);
$linkModulePreview = Route::link('site', $internalPreview, true, Route::TLS_IGNORE, true);
$html = "<joomla-toolbar-button class='nblinkpreview'>
<a href='{$linkModulePreview}' target='_blank' class='btn btn-info' type='button'>
".Text::_('NOBOSS_EXTENSIONS_BUTTON_TEXT')."
</a>
</joomla-toolbar-button>";
return $html;
}
}