Jump to content

Php Joomla help


Ymosky

Recommended Posts

Hallo allemaal,

Ik ben bezig met een Joomla website, alleen zit ik met een klein vraagje:

Bij een artikel kunnen bovenenaan verschillende icoontjes worden weergegeven. In mijn geval is dat "Print", "E-mail" en "Bewerk"

Bij een standaard Joomla template zijn dit gewoon leuke plaatjes

Bij een andere template die ik geinstalleerd heb is het alleen maar tekst

Nu heb ik ergens anders op de site een php bestand gevonden waarin volgens mij bepaald word of het plaatje dan wel tekst is die getoond word:

if ($params->get('show_icons'))
{
   if ($legacy)
   {
       $text = JHtml::_('image', 'system/printButton.png', JText::_('JGLOBAL_PRINT'), null, true);
   }
   else
   {
       $text = '<span class="icon-print"></span> ' . JText::_('JGLOBAL_PRINT') . ' ';
   }
}

Dit kan ik natuurlijk domweg verbouwen, en zorgen dat het altijd een "plaatje" is dan krijg ik dit:

if ($params->get('show_icons'))
{
   $text = JHtml::_('image', 'system/printButton.png', JText::_('JGLOBAL_PRINT'), null, true);
}

Dat geeft wel het gewenste effect, maar ik zou liever weten wat dat "$legacy" precies inhoud. Ook behoort het bovenstaande php bestand niet bij de template, maar bij de bestanden van de joomla-installatie zelf, en die wijzig ik liever niet eerlijk gezegd.

Door de ene template word dit blijkbaar op 'false' gezet, en door de andere template word het op 'true' gezet. Maar ik kan nergens iets vinden waardoor die waarde van "$legacy" bepaald word. Iemand enige idee hoe ik dat kan achterhalen?

Bewerkt: door Ymosky
Link to comment
Delen op andere websites

Ik ben niet helemaal bekend met Joomla, maar ik zal zo even een pakket downloaden en kijken voor je ;)


Blijkbaar komt het uit het bestand ./components/com_content/helpers/icon.php, waar het als parameter verkregen wordt in de verschillende functies (was wel handig als je dat er even bij gezegd had, scheelt me weer zoekwerk).

Die functies worden aangeroepen vanuit de templates door dit soort codes:

<?php echo JHtml::_('icon.print_popup', $this->item, $params); ?> //

in: ./components/com_content/views/article/tmpl/default.php (line 66)

<?php echo JHtml::_('icon.print_popup', $this->item, $params, array(), true); ?> //

in: ./templates/beez3/html/com_content/article/default.php (line 53)

Zoals je ziet wordt de functie print_popup(...) aangeroepen door een eerste argument icon.print_popup mee te geven. Alle argumenten die daarop volgen worden blijkbaar automatisch meegegeven als argumenten voor de functie die wordt aangeroepen. Zoals je ziet worden in de tweede regel die ik heb gepost nog twee extra argumenten meegegeven, namelijk een lege array (wat overeenkomt met de standaard parameter van print_popup(...)) en de boolean true. Die laatste correspondeert met de parameter $legacy, wat zoals je al zei de icoontjes als tekst laat verschijnen.

Bewerkt: door .Timothy
Link to comment
Delen op andere websites

Dat heb je al wel vlug gedaan zeg! :)

De template waar het over gaat heb ik hier gedownload: http://www.siteground.com/template-preview/joomla25/siteground-j16-5

Daar zitten inderdaad best wel verschillen in als ik het vergelijk met die beez template. (dat is gewoon 1 grote chaos zeg)

In die template van siteground kom ik bijvoorbeeld deze code tegen:

<?php echo JHtml::_('icon.print_popup',  $this->item, $params); ?>

in ./templates/siteground-j16-5/html/com_content/article/default.php (line 151)

Als ik het goed begrijp is dus het enige wat ik kan doen al die php bestanden van de siteground template doorkijken en controleren op dit soort fouten?

Bewerkt: door Ymosky
Link to comment
Delen op andere websites

Haha, viel best mee. Kwestie van weten waar je moet zoeken en Notepad++ gebruiken. Maar chaos? Dat is een Joomla template, daar wordt gewoon data geprint door middel van PHP. Zo vreemd is dat toch niet? :puh:

Over het oplossen van je probleem: dat zijn geen fouten, dat is een keuze die ze hebben gemaakt. Blijkbaar gebruikt de beez-template nog de oude - het heet niet voor niets legacy - opmaak, terwijl dit in de standaardtemplates (natuurlijk) vernieuwd is. Afhankelijk van wat jij wilt, moet je de code daarop aanpassen. Wil je de oude, zorg ervoor dat de parameter op true wordt gezet; wil je de nieuwe stijl, zet deze dan op false of haal het weg (waardoor de standaardwaarde, alsnog false, wordt gebruikt).

Link to comment
Delen op andere websites

Haha, probleem is dan dat ik geen flauw idee heb waar ik moet zoeken. Ik vond het eigenlijk al heel wat dat ik die $legacy paramater had gevonden :engel:

Met chaos bedoelde ik vooral eigenlijk de opmaakt van de bestanden van die siteground template. Daar zit na iedere regel tekst 2 of meer regels witruimte.

Maargoed, ik heb nu dus gewoon de php bestanden van de siteground template vervangen door die van de beez template, en het werkt prima zo :puh: En wel bedankt voor het meedenken en meehelpen :)

Ik wil nog wel wat meer met die templates gaan uitproberen, want is op zich best leuk om te doen.

Link to comment
Delen op andere websites

Met chaos bedoelde ik vooral eigenlijk de opmaakt van de bestanden van die siteground template. Daar zit na iedere regel tekst 2 of meer regels witruimte.

Niet in het bestand wat ik aanhaal in ieder geval, en anders is daar meestal een logische reden voor te verzinnen :puh: Soms leest 't ook gewoon prettig.

Maargoed, ik heb nu dus gewoon de php bestanden van de siteground template vervangen door die van de beez template, en het werkt prima zo :puh: En wel bedankt voor het meedenken en meehelpen :)

Zou ik niet direct hebben aangeraden (sterker nog, je negeert m'n oplossing uit m'n vorige bericht), maar goed. Als je verdere vragen hebt, schroom niet ze te stellen (stuur me anders maar 's een PB'tje o.i.d.) ;) Succes!

Link to comment
Delen op andere websites

Volgens mij zit er iets niet goed met m'n notepad++ ben ik achter gekomen.

Bij mij komt er na iedere regel 2 regels extra wit, maar als ik hetzelfde bestand met gewoon notepad open word het wel normaal weergegeven. Ik snap ook niet waarom dit met het ene bestand wel gebeurd, en met het andere niet. Ik heb notepad++ al geupdate naar de nieuwste versie, maar dan blijft het hetzelfde.

Link to comment
Delen op andere websites

Voor zover ik weet heb ik helemaal niks aangepast, maar ik heb toch even die map verwijderd, maar dat helpt niet helaas.

Ik heb zo'n bestandje wat ik heb hieronder eens bijgevoegd, zou je eens willen kijken hoe dat er bij jouw uitziet? of iemand anders?

default.rar

Bewerkt: door Ymosky
Link to comment
Delen op andere websites

Okeej, dan ligt het dus toch niet aan m'n notepad++ of m'n pc :puh: Maar wel apart dat de "gewone" notepad die extra enters weglaat?

Dit is een template die ik gedownload heb op http://www.siteground.com/joomla-templates.htm

Het is de "Lime Green" template (dat is deze: http://www.siteground.com/template-preview/joomla25/siteground-j16-5)

En het bestand wat ik in mijn vorige bericht had gezet komt uit deze map: siteground-j16-5/html/com_content/article/default.php

Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...