Zobacz pełną wersję : Problem z ikonami podczas aktualizacji komponentu.
Witam.
Staram się przenieść komponent z Joooma 1.5 -> 2.5. Wszystko działa tak jak powinno oprócz ikon przycisków. Na starszej wersji dodane są w następujący sposób:
$bar = & JToolBar::getInstance('toolbar');
$bar->appendButton( 'Link', 'New', 'New','(..)' , false );
W dołączonym pliku CSS mam odwołanie na tą ikonę:
.icon-32-New { background-image: url(../images/new.png); }
W nowszej wersji ten sposób niestety nie działa. Efektem jest wywietlenie się samego linku bez "kafelka" ikony. Dorzucam różnicę w załączniku.
Co muszę dokładnie pozmieniać, aby ikony działały poprawnie na Joomla 2.5? Dodam, że przedrążyłem google i nie znalazłem działającego rozwiązania. Może to kwestia jakiejś konfiguracji?7252
Pawelo31
20-01-2014, 17:28
To musisz trochę inaczej. Ja mam w swoim komponencie coś takiego w pliku view.html.php
<?php// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla view library
jimport('joomla.application.component.view');
class DudoniordersViewKategorie extends JViewLegacy
{
/**
* @return void
*/
function display($tpl = null)
{
require_once JPATH_ADMINISTRATOR.'/components/com_dudoniorders/helpers/menu.php'; //dołącz menu
JToolBarHelper::title( JText::_('Edycja kategorii'), 'generic.png' );
$task = JRequest::getCmd('task');
$model = &$this->getModel('kategorie');
$pobierzDane = $model->pobierzDane(); //Pobieranie wszystkich rekordów z tabeli #__kategorie
$this->assignRef('pobierzDane', $pobierzDane);
$pobierzKategorie = $model->pobierzKategorie(JRequest::getVar('cid')); //Pobiera id kategorii, które będą edytowane
$this->assignRef('pobierzKategorie', $pobierzKategorie);
if ($task == 'nadpisz') {
$nadpiszKategorie = $model->nadpiszKategorie();
$this->assignRef('nadpiszKategorie', $nadpiszKategorie);
}
if ($task == 'zapisz') {
$zapiszKategorie = $model->zapiszKategorie();
$this->assignRef('zapiszKategorie', $zapiszKategorie);
}
$this->addToolBar();
parent::display($tpl);
}
protected function addToolBar() {
/*
if (JRequest::getVar('layout') != 'edit')
{
JToolBarHelper::save('','Edytuj');
}
*/
JToolBarHelper::addNew('add');
JToolBarHelper::editList('edit');
JToolBarHelper::divider();
JToolBarHelper::publishList('kategorie.publish');
JToolBarHelper::unpublishList('kategorie.unpublish ');
JToolBarHelper::divider();
JToolBarHelper::preferences('com_dudoniorders');
}
}
dla dodawania masz taki przycisk JToolBarHelper::addNew('add'); Musisz wywołać funkcję tutaj $this->addToolBar(); w function display($tpl = null) która się odpala automatycznie
Tak nadajesz nazwę jeśli chcesz inną JToolBarHelper::save('','Zapisz');
Musisz jeszcze stworzyć widok po przyciśnięciu przycisku dla editList('add'); - add.php
Do tej pory cała obsługę dodawania i obsługi przycisków (tasków) miałem w models/file.php. Kod, który przytoczyłem w pierwszym poście jest właśnie z tego pliku. Nie rozumiem za bardzo jakbym miał to teraz przenieść wszystko do viel.html.php...
EDIT
Skorzystałem z
http://docs.joomla.org/J2.5:Using_the_JToolBar_class_in_the_frontend
i na chwilę obecną pojawiły mi się ikonki na przyciskach.
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!