php - strip_tags - ¿Cómo obtener los parámetros de los componentes?
strip_tags wordpress (8)
De forma similar a la respuesta proporcionada por LoboX, recomendaría usar el componente auxiliar para obtener los parámetros de los componentes:
jimport(''joomla.application.component.helper''); // Import component helper library
$params = JComponentHelper::getParams(JRequest::getVar(''option'')); // Get parameter helper (corrected ''JRquest'' spelling)
$params->get(''parameter_name''); // Get an individual parameter
JRequest::getVar(''option'')
devuelve el nombre de su componente con el prefijo com_. Aparte de eso, parece que estás intentando mezclar un poco de sintaxis 1.5 / 1.6 en tu archivo de configuración. Si aún no lo ha visto, intente leer la versión 2.5 de la documentación. ¡Espero que eso ayude!
Tengo un problema aquí y simplemente no puedo resolverlo: - /
Estoy desarrollando un componente Joomla con back-end. En el back-end, establecí un parámetro, el dashboardId
, pero no puedo acceder a ellos en la vista. Siempre obtengo data:protected
(cuando descargo params
). Parece que no tengo permiso para acceder al objeto.
Aquí está el default.xml
:
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="Dashboard">
<message>
<![CDATA[dashboard LAYOUT DESCRIPTION]]>
</message>
</layout>
<fields name="params">
<fieldset name="params">
<field
name="dashboardId"
type="text"
label="Dashboard ID"
description="com_dashboard_desc"
default="1"
>
</field>
</fieldset>
</fields>
</metadata>
Ahora, en view.html.php
, intento acceder al parámetro de esta manera:
$app = &JFactory::getApplication();
$params = JComponentHelper::getParams(''com_dashboard'');
$dashboardId = $params->get(''dashboardId'');
var_dump($dashboardId);
Cuando hago var_dump($dashboardId);
Obtengo NULL
pero cuando descargo $app
, puedo ver el dashboardID
¡toda ayuda sería apreciada! Gracias
Desde la versión 3.1 Joomla está en proceso para desaprobar todas las clases de J
, efecto de materia, la versión 4.0 desaprobará casi todas las clases de J
, la manera recomendada a partir de ahora para recuperar componentes param es invocar la función de espacio de nombres completo:
Joomla/CMS/Component/ComponentHelper::getParams(''com_dashboard'')->get(''dashboardID'');
o, si está trabajando en un modelo, puede invocar use
keyword para importar el archivo y usar la clase en el documento, como
use Joomla/CMS/Component/ComponentHelper;
function myFunction() {
$param = ComponentHelper::getParams(''com_dashboard'');
$dashboardID = $param->get(''dashboardID'');
}
Es similar a la respuesta de JT Blum, pero en Joomla 3.x JRequest está privado. Es otra forma de obtener los parámetros de la aplicación.
$app = JFactory::getApplication();
$input = $app ->input;
$componentName = $input ->get(''option'');
$params = JComponentHelper::getParams($componentName);
print_r($params);
Función auxiliar para obtener el objeto Params en todas las versiones de Joomla 1.5 / 2.5 /3.x
class myCompoHelper{
public static function getParams($option)
{
if (version_compare(JVERSION, ''1.5'', ''g''))
{
$application = JFactory::getApplication();
if ($application->isSite())
{
$params = $application->getParams($option);
}
else
{
jimport(''joomla.application.component.helper'');
$params = JComponentHelper::getParams($option);
}
}
else
{
jimport(''joomla.application.component.helper'');
$params = JComponentHelper::getParams($option);
}
return $params;
}
}
$params=myCompoHelper::getParams(''com_mycomponent'');
echo $params->get(''myParamName'',null);
Hay una manera más simple. Primero importe Joomla Component Helper:
jimport(''joomla.application.component.helper''); // not required in Joomla 3.x
Y luego recupera cualquier atributo que desees así:
$params = JComponentHelper::getParams(''com_dashboard'');
$dashboardID = $params->get(''dashboardID'');
Saludos.
Tuve el mismo problema y la solución fue esta:
$input = JFactory::getApplication()->input;
$parametername = $input->getInt(''parametername'');
echo $parametername;
Este es el nombre de un parámetro en default.xml en la carpeta views tmpl. aquí está el xml
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="Offers">
<message>This is a component in order to display offers</message>
</layout>
<state>
<name>name</name>
<description>description</description>
<url addpath="/administrator/components/com_component/elements">
<param name="category_id" section="com_component" type="categoriesmenu" value_field="category_name" label="COM_COMPONENT_CATEGORY_FIELD_SELECT_TITLE" description="COM_COMPONENT_CATEGORY_FIELD_SELECT_TITLE_DESC" />
</url>
</state>
<fields name="request" >
<fieldset name="request" addfieldpath="/administrator/components/com_component/models/fields">
<field name="parametername" type="category"
label="category"
required="true"
description="Perigrafh"
/>
</fieldset>
</fields>
</metadata>
Tuve un problema similar. Solo obtuve los datos: resultado protegido hasta que fui a la configuración de mi componente y lo guardé. Aunque había valores predeterminados impresos en los campos de texto, Joomla no pudo leerlos antes de hacer clic en "guardar".
$app = JFactory::getApplication(''site'');
$componentParams = $app->getParams(''com_example'');
$param = $componentParams->get(''paramName'', defaultValue);