Cannot access protected property ... ::$pageclass_sfx
Wyniki 1 do 2 z 2

Temat: Cannot access protected property ... ::$pageclass_sfx

  1. #1
    Debiutant
    Dołączył
    07-02-2023
    Wpisy
    4
    Punkty
    2

    Joomla! 4.x Cannot access protected property ... ::$pageclass_sfx

    Po zaktualizowaniu Joomli z 3.10 na 4.2.8 wyświetlało się dużo błędów, które poprawiłem ale jest jeden, najprawdopodobniej ostatni, którego nie mogę przejść
    Cannot access protected property Joomla\Component\Content\Site\View\Article\HtmlVie w::$pageclass_sfx

    Problem polega na tym, że przy próbie sprawdzenia poprzez "dd($component)" obiekt pageclass_sfx jest zwracany pusty.

    kod zawarty w pliku, który podaje Joomla w błędzie.
    Pogrubiony tekst to linia, o której mówi Joomla.

    <?php
    defined('_JEXEC') or die;

    /**
    * Contains the article factory method and content component rendering helpers.
    */
    Core::load("Core_Content_ArchivedArticle");
    Core::load("Core_Content_SingleArticle");
    Core::load("Core_Content_CategoryArticle");
    Core::load("Core_Content_FeaturedArticle");

    class CoreContent
    {
    protected $_component;
    protected $_componentParams;

    public $pageClassSfx;

    public $pageHeading;

    public function __construct($component, $params)
    {

    $this->_component = $component;
    $this->_componentParams = $params;

    $this->pageClassSfx = $component->pageclass_sfx;
    $this->pageHeading = $this->_componentParams->get('show_page_heading', 1)
    ? $this->_componentParams->get('page_heading') : '';
    }

    W przypadku gdy zakomentuję te linię strona się odpala ale rozjeżdża się menu na stronie.

    Próbowałem robić to co podają tutaj:
    https://forum.joomla.org/viewtopic.p...07363&start=30
    https://forum.joomla.org/viewtopic.php?t=987911

    ale nie pomogło

  2. #2
    Wyga siristru awatar
    Dołączył
    28-05-2009
    Skąd
    Szczecin
    Wpisy
    3 242
    Punkty
    302

    Domyślny

    "Pageclass_sfx" to "page class suffix" czyli przyrostek klasy css strony. Sprawdź w pozycji menu czy w ogóle używasz tego przyrostka.
    "Rozjechanie" menu wcale nie musi mieć związku z przyroskiem.

    W każdym razie, w swoim szablonie używam go w ten sposób:

    Kod PHP:
    use Joomla\CMS\Factory;
    $app Factory::getApplication();
    $menu $app->getMenu()->getActive();
    $input Factory::getApplication()->input;
    $active $input->get('Itemid''');
    $params $menu->getParams($active); 
    I wywołuję jego wartość:

    Kod PHP:
    echo $params->get('pageclass_sfx'); 
    Można o wiele prościej:

    Kod PHP:
    use Joomla\CMS\Factory;
    $app Factory::getApplication();
    $menu     $app->getMenu()->getActive();
    $params $menu !== null $menu->getParams()->get('pageclass_sfx''') : ''
    Ale podejrzewam, że nawet jak twój szablon dostanie "Pageclass_sfx" to menu będzie rozjechane.

    Możesz spróbować zastosować powyższe kody w ten sposób:

    Kod PHP:
    $this->pageClassSfx $params
    Obojętnie który kod wykorzystasz.
    Na Forum pomagam bezpłatnie ad maiorem Joomla gloriam
    Mimo pomocy na forum nie dajesz rady? Potrzebujesz by ekspert "zrobił to" za Ciebie?
    Napisz do mnie na PW. Argentum et Aurum nie zawsze jest konieczne ;)

Podobne tematy

  1. Problem z otwarciem strony #0 Call to protected method Joomla: 3.8.7
    przez mark123422 na forum Administracja - ogólnie
    Odpowiedzi: 1
    Ostatni post/autor: 19-05-2018, 01:58
  2. Odpowiedzi: 5
    Ostatni post/autor: 14-09-2017, 09:57
  3. błąd Undefined property: stdClass::$access in
    przez rastaman697 na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 0
    Ostatni post/autor: 01-08-2013, 01:15
  4. pageclass_sfx w Joomala
    przez kamilos82 na forum Różne
    Odpowiedzi: 1
    Ostatni post/autor: 10-09-2011, 18:07
  5. Dodanie do pluginu JP-Bookmark suffixu 'pageclass_sfx'
    przez tomaszek83 na forum Szablony, wygląd, formatowanie
    Odpowiedzi: 6
    Ostatni post/autor: 12-02-2011, 00:59

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •