--=REKLAMA=--

Modyfikacja - Sekcja: Lista kategorii, Kategoria - Przegląd artykułów

Z Joomla!WikiPL

Jeśli chcesz stworzyć w menu odnośnik do kategorii artykułów w sekcji w formie tabelarycznej, a kategorie wyświetlane w formie przeglądu artykułów, skorzystaj z modyfikacji zaproponowanej na Forum Mambo przez barnett-a

Wymaga to jedynie edycji dwóch plików. Ścieżka powrotu i tytuły będą takie, jak chcesz. (Jedyne, co nie działa, to ustawienie dowolnego tytułu strony, który jest odczytywany z pola nazwa kategorii.

Pierwszy z plików, który wymaga modyfikacji, to plik skryptu obsługującego strony witryny: content.php. Odszukaj components/com_content/content.php, otwórz go w edytorze HTML lub zwykłym edytorze tekstu, przejdź do fragmentu definiującego funkcję ShowCategory (ok. linii 461) i tuż pod koniec kodu definiującego funkcję zastąp fragment widoczny poniżej

    HTML_content::showContentList( $category, $items, $access, $id, $sectionid, $gid, $params, $pageNav, $other_categories, $lists );

na następujący:

    $params->def( 'blog_link', 0 );
       if ( $params->get( 'blog_link' ) ) {
          global $pop;
          showBlogCategory( $id, $gid, $access, $pop, $now );
       } else {
          HTML_content::showContentList( $category, $items, $access, $id, $sectionid, $gid, $params, $pageNav, $other_categories, $lists );
       }

Następnie przewiń ekran do pustej linii 788 (po powyższej zmianie do 794) i umieść poniższy kod między minstrukcjami:

case 'content_blog_category':
$description = new mosCategory( $database );
$description->load( $menu->componentid );
break;
 
//TUTAJ wstaw NOWY PONIZSZY KOD **************
 
default:
$menu->componentid = 0;
break;
    case 'content_section':
                $description = new mosCategory( $database );
                $description->load( $id );
                // Dynamic Page Title
                $mainframe->SetPageTitle( $description->name );
                if ( $header ) { $header = $description->name; }
                break;

Zapisz ten plik i zastąp nim oryginalny.

Modyfikacji wymaga również plik zaplecza: content_section.xml, który znajdziesz w katalogu: administrator/components/com_menus/content_section/content_section.xml

Po linii 113 wpisz (wklej) następujący kod (polską wersję znajdziesz poniżej):

    <param name="@spacer" type="spacer" default="" label="" description="" />
          <param name="@spacer" type="spacer" default="" label="Blog Category Hack Below" description="" />
          <param name="blog_link" type="radio" default="0" label="Link to Blog Categories" description="Make the Category link to a blog instead of a table">
             <option value="0">No</option>
             <option value="1">Yes</option>
          </param>
          <param name="@spacer" type="spacer" default="" label="" description="" />
          <param name="header" type="text" size="30" default="" label="Page Title" description="Text to display at the top of the page" />
          <param name="page_title" type="radio" default="1" label="Page Title" description="Show/Hide the Page title">
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="leading" type="text" size="3" default="1" label="# Leading" description="Number of Items to display as a leading (full width) item. 0 will mean that no items will be displayed as leading." />
          <param name="intro" type="text" size="3" default="4" label="# Intro" description="Number of Items to display with the introduction text shown." />
          <param name="columns" type="text" size="3" default="2" label="Columns" description="When displaying the intro text, how many columns to use per row" />
          <param name="link" type="text" size="3" default="4" label="# Links" description="Number of Items to display as Links." />
          <param name="orderby_pri" type="list" default="" label="Category Order" description="Order items by catgeory">
             <option value="">No, order by Primary Order only</option>
             <option value="alpha">Title Alphabetical</option>
             <option value="ralpha">Title Reverse-Alphabetical</option>
             <option value="order">Ordering</option>
          </param>
          <param name="orderby_sec" type="list" default="" label="Primary Order" description="Order that the items will be displayed in.">
             <option value="">Default</option>
             <option value="date">Oldest first</option>
             <option value="rdate">Most recent first</option>
             <option value="alpha">Title Alphabetical</option>
             <option value="ralpha">Title Reverse-Alphabetical</option>
             <option value="author">Author Alphabetical</option>
             <option value="rauthor">Author Reverse-Alphabetical</option>
             <option value="hits">Most Hits</option>
             <option value="rhits">Least Hits</option>
             <option value="order">Ordering</option>
          </param>
          <param name="pagination" type="list" default="2" label="Pagination" description="Show/Hide Pagination support">
             <option value="0">Hide</option>
             <option value="1">Show</option>
             <option value="2">Auto</option>
          </param>
          <param name="pagination_results" type="radio" default="1" label="Pagination Results" description="Show/Hide Pagination Results info ( e.g 1-4 of 4 )">
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="image" type="radio" default="1" label="MOSImages" description="Display {mosimages}.">
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="@spacer" type="spacer" default="" label="" description="" />
          <param name="category" type="radio" default="0" label="Category Name" description="Show/Hide the Category the item belongs to">
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="category_link" type="radio" default="0" label="Category Name Linkable" description="Make the Category text a link to the actual Category page">
             <option value="0">No</option>
             <option value="1">Yes</option>
          </param>
          <param name="item_title" type="radio" default="1" label="Item Titles" description="Show/Hide the items title">
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="link_titles" type="list" default="" label="Linked Titles" description="Make your Item titles linkable">
             <option value="">Use Global</option>
             <option value="0">No</option>
             <option value="1">Yes</option>
          </param>
          <param name="readmore" type="list" default="" label="Read More" description="Show/Hide the Read More link">
             <option value="">Use Global</option>
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>   
          <param name="rating" type="list" default="" label="Item Rating" description="Show/Hide the item rating - only affects this page">
             <option value="">Use Global</option>
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="author" type="list" default="" label="Author Names" description="Show/Hide the item author - only affects this page">
             <option value="">Use Global</option>
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="createdate" type="list" default="" label="Created Date and Time" description="Show/Hide the item creation date - only affects this page">
             <option value="">Use Global</option>
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="modifydate" type="list" default="" label="Modified Date and Time" description="Show/Hide the item modification date - only affects this page">
             <option value="">Use Global</option>
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="pdf" type="list" default="" label="PDF Icon" description="Show/Hide the item pdf button - only affects this page">
             <option value="">Use Global</option>
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="print" type="list" default="" label="Print Icon" description="Show/Hide the item print button - only affects this page">
             <option value="">Use Global</option>
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>
          <param name="email" type="list" default="" label="Email Icon" description="Show/Hide the item email button - only affects this page">
             <option value="">Use Global</option>
             <option value="0">Hide</option>
             <option value="1">Show</option>
          </param>

Polska wersja kodu XML

<param name="@spacer" type="spacer" default="" label="" description="" />
   <param name="@spacer" type="spacer" default="" label="Poniżej modyfikacja: Przegląd kategorii" description="" />
   <param name="blog_link" type="radio" default="0" label="Odnośnik do przeglądu kategorii" description="Zaprezentuj kategorię artykułów w przeglądzie zamiast
   tabeli z listą artykułów ">
      <option value="0">Nie</option>
      <option value="1">Tak</option>
   </param>
   <param name="@spacer" type="spacer" default="" label="" description="" />
   <param name="header" type="text" size="30" default="" label="Tytuł strony" description="Wpisz tekst, który może być wyświetlany w nagłówku strony. 
   Jeśli pozostawisz to pole puste, tytułem będzie nazwa pozycji w menu." />
   <param name="page_title" type="radio" default="1" label="Pokaż tytuł strony" description="Pokaż/Ukryj tytuł strony wyświetlany w nagłówku głównego obszaru strony.">
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="leading" type="text" size="3" default="1" label="Pozycji nad kolumnami" description="Ile pozycji wyświetlić nad kolumnami, jeśli obszar prezentacji
    jest podzielony na kolumny?" />
   <param name="intro" type="text" size="3" default="4" label="Pozycji w kolumnach" description="Ile pozycji wyświetlić w kolumnach, poniżej pozycji nad kolumnami?" />
   <param name="columns" type="text" size="3" default="2" label="Ilość kolumn" description="Wpisz, na ile kolumn (szpalt) podzielić obszar prezentacji przeglądu." />
   <param name="link" type="text" size="3" default="4" label="Ilość odnośników" description="Wpisz ilość artykułów, do których na stronach przeglądu będą wyświetlane odnośniki." />
 
   <param name="orderby_pri" type="list" default="" label="Kolejność kategorii" description="NIE SORTUJ: wyświetlisz artykuły TYLKO wg kryterium określonego w następnej opcji.
    WG NAZW: najpierw zostaną uporządkowane kategorie, a w kategoriach artykuły wg kryterium określonego w następnej opcji.">
      <option value="">Nie sortuj</option>
      <option value="alpha">Wg nazwy - od A do Ź</option>
      <option value="ralpha">Wg nazwy - od Ź do A</option>
      <option value="order">Wg kolejności w wykazie kategorii</option>
   </param>
   <param name="orderby_sec" type="list" default="" label="Kolejność artykułów" description="Określ podstawowe kryterium porządkowania i wyświetlania artykułów. 
   Kryterium to uwzględnia ustawienie określone powyżej. DOMYŚLNIE - jak w wykazie: Wszystkie artykuły. Pozostaw, jeśli nie chcesz zmieniać aktualnego uporządkowania.">
      <option value="">Domyślnie</option>
      <option value="date">Data - od najstarszych</option>
      <option value="rdate">Data - od najnowszych</option>
      <option value="alpha">Tytuły - od A do Ź</option>
      <option value="ralpha">Tytuły - alfabetycznie od Ź do A</option>
      <option value="author">Autorzy - od A do Ź</option>
      <option value="rauthor">Autorzy - od Ź do A</option>
      <option value="hits">Najczęściej przeglądane</option>
      <option value="rhits">Najrzadziej przeglądane</option>
      <option value="order">Wg kolejności w kategorii artykułów</option>
   </param>		  
   <param name="pagination" type="list" default="2" label="Paginacja" description="Pokaż/Ukryj pasek nawigacji między kolejnymi artykułami
   (Pierwszy - Poprzedni - Następny - Ostatni.">
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
      <option value="2">Auto</option>
   </param>
   <param name="pagination_results" type="radio" default="1" label="Wynik paginacji" description="Pokaż/ukryj rezultat paginacji - artykuły od-do z ogólnej ilości (np. 1-4 z 4).">
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="image" type="radio" default="1" label="MOSImages" description="Pokaż/Ukryj na stronie otwierającej bloga grafiki. Dotyczy tylko ilustracji wprowadzonych znacznikiem mosimage! Ustawienie dotyczy tylko stron przeglądu.">
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="@spacer" type="spacer" default="" label="" description="" />
   <param name="category" type="radio" default="0" label="Nazwa kategorii" description="Pokaż/Ukryj nazwy kategorii, do których należą artykuły">
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="category_link" type="radio" default="0" label="Nazwa kategorii łączem" description="Spraw, aby tytuły kategorii były łączami do stron z listą artykułów w kategoii">
      <option value="0">No</option>
      <option value="1">Yes</option>
   </param>
   <param name="item_title" type="radio" default="1" label="Tytuły artykułów" description="Pokaż/Ukryj tytuły artykułów">
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="link_titles" type="list" default="" label="Tytuły łączami" description="Spraw, aby tytuły pozycji były łączami do stron z pełnym tekstem.">
      <option value="">Globalnie</option>
      <option value="0">No</option>
      <option value="1">Yes</option>
   </param>
   <param name="readmore" type="list" default="" label="Czytaj więcej" description="Pokaż/Ukryj odnośnik Czytaj więcej">
      <option value="">Globalnie</option>
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>   
   <param name="rating" type="list" default="" label="Ocenianie" description="Pokaż/Ukryj formularz oceniania. Dotyczy tylko tej strony.">
      <option value="">Globalnie</option>
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="author" type="list" default="" label="Nazwa autora" description="Pokaż/Ukryj nazwę autora artykułu. Dotyczy tylko tej strony.">
      <option value="">Globalnie</option>
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="createdate" type="list" default="" label="Data i czas utworzenia" description="Pokaż/Ukryj datę i czas utworzenia. Dotyczy tylko tej strony.">
      <option value="">Globalnie</option>
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="modifydate" type="list" default="" label="Data i czas modyfikacji" description="Pokaż/Ukryj datę i czas ostatniej zmiany. Dotyczy tylko tej strony.">
      <option value="">Globalnie</option>
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="pdf" type="list" default="" label="Ikona PDF" description="Pokaż/Ukryj przycisk Utwórz PDF. Dotyczy tylko tej strony.">
      <option value="">Globalnie</option>
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="print" type="list" default="" label="Ikona Drukuj" description="Pokaż/Ukryj przycisk Drukuj. Dotyczy tylko tej strony.">
      <option value="">Globalnie</option>
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>
   <param name="email" type="list" default="" label="Ikona Email" description="Pokaż/Ukryj przycisk Poleć znajomemu. Dotyczy tylko tej strony.">
      <option value="">Globalnie</option>
      <option value="0">Ukryj</option>
      <option value="1">Pokaż</option>
   </param>

Zapisz plik i zastąp nim oryginał.

Teraz zaloguj się na stronę administracyjną, otwórz w edytorze pozycję menu Tabela - Sekcja artykułów i popraw ją. Poniżej parametrów zobaczysz nowe opcje Przeglądu kategorii. Zaznacz Łącze do przeglądu kategorii i ustaw je zgodnie ze swoim życzeniem.

Dziękujemy za wkład

» Stefan Wajda [zwiastun],