Pawelo31
13-12-2012, 15:17
Witam
Mam problem z odczytaniem parametrów własnego komponentu (j2.5) po stronie administratora. Może ktoś będzie miał więcej wiedzy na ten temat ode mnie. Chociaż do tej pory sobie poradziłem ze wszystkimi błędami jakie się wiążą z pisaniem własnych komponentów. Aby odczytać parametry po stronie frontowej trzeba dodać trochę kodu w odpowiednich plikach komponentu. Podam przykład na jednym parametrze
trzeba stworzyć plik config.xml w głównym katalogu komponentu po stronie administracyjnej a w nim:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<fieldset
name="cities"
label="Ogólne"
description="Ustawienia ogólne"
>
<field
name="show_pozycji"
type="list"
default="10"
label="Pozycji na stronie"
description="Określa ile ma się wyświetlać pozycji na stronie"
>
<option value="5">5</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option value="50">50</option>
<option value="60">60</option>
</field>
</fieldset>
</config>
w pliku view.html.php po stronie frontowej
class AukcjeViewWeryfikacja extends JView
{
protected $configs;
function display($tpl = null)
{
$this->configs = JFactory::getApplication()->getParams();
.
.
.
w widoku w pliku default.php po stronie frontowej
$itemsPerPage = $this->configs->get('show_pozycji');
w odpowiednim miejscu w pliku view.html.php po stronie administracyjnej trzeba dodać przycisk
JToolBarHelper::preferences('com_aukcje');
Po wciśnięci przycisku ustawień wyświetlą się ustawienia komponentu, które definiowaliśmy w pliku config.xml czyli lista (type="list") i wartości np ile pozycji ma się wyświetlić na stronie.
w widoku pod zmienną $itemsPerPage będzie zapisana nasza wartość. A to wszystko zapisywane jest w bazie. Joomla poradzi sobie z zapisaniem parametrów bez definiowania tabel itp.
wszystko jest ok do momentu jak się chce odczytać tą zmienną po stronie administracyjnej. Otrzymuje błąd:
Fatal error: Call to undefined method JAdministrator::getParams() in C:\xampp\htdocs\joomla2.5wielojezyczna\administrat or\components\com_aukcje\views\weryfikacja\view.ht ml.php on line 19
czyli linijka $this->configs = JFactory::getApplication()->getParams();
Byłbym bardzo wdzięczny za wskazówkę jeśli ktoś wie w czym jest problem. Dziękuję jeśli ktoś przeczytał do końca.
Pozdrawiam
Mam problem z odczytaniem parametrów własnego komponentu (j2.5) po stronie administratora. Może ktoś będzie miał więcej wiedzy na ten temat ode mnie. Chociaż do tej pory sobie poradziłem ze wszystkimi błędami jakie się wiążą z pisaniem własnych komponentów. Aby odczytać parametry po stronie frontowej trzeba dodać trochę kodu w odpowiednich plikach komponentu. Podam przykład na jednym parametrze
trzeba stworzyć plik config.xml w głównym katalogu komponentu po stronie administracyjnej a w nim:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<fieldset
name="cities"
label="Ogólne"
description="Ustawienia ogólne"
>
<field
name="show_pozycji"
type="list"
default="10"
label="Pozycji na stronie"
description="Określa ile ma się wyświetlać pozycji na stronie"
>
<option value="5">5</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option value="50">50</option>
<option value="60">60</option>
</field>
</fieldset>
</config>
w pliku view.html.php po stronie frontowej
class AukcjeViewWeryfikacja extends JView
{
protected $configs;
function display($tpl = null)
{
$this->configs = JFactory::getApplication()->getParams();
.
.
.
w widoku w pliku default.php po stronie frontowej
$itemsPerPage = $this->configs->get('show_pozycji');
w odpowiednim miejscu w pliku view.html.php po stronie administracyjnej trzeba dodać przycisk
JToolBarHelper::preferences('com_aukcje');
Po wciśnięci przycisku ustawień wyświetlą się ustawienia komponentu, które definiowaliśmy w pliku config.xml czyli lista (type="list") i wartości np ile pozycji ma się wyświetlić na stronie.
w widoku pod zmienną $itemsPerPage będzie zapisana nasza wartość. A to wszystko zapisywane jest w bazie. Joomla poradzi sobie z zapisaniem parametrów bez definiowania tabel itp.
wszystko jest ok do momentu jak się chce odczytać tą zmienną po stronie administracyjnej. Otrzymuje błąd:
Fatal error: Call to undefined method JAdministrator::getParams() in C:\xampp\htdocs\joomla2.5wielojezyczna\administrat or\components\com_aukcje\views\weryfikacja\view.ht ml.php on line 19
czyli linijka $this->configs = JFactory::getApplication()->getParams();
Byłbym bardzo wdzięczny za wskazówkę jeśli ktoś wie w czym jest problem. Dziękuję jeśli ktoś przeczytał do końca.
Pozdrawiam