PDA

Zobacz pełną wersję : Ddobry tutorial pl do tworzenia komponentów modułów pod joomla 2.5



prostepc
20-11-2012, 09:41
Witam , uczę się pisania własnych komponentów do joomli 2.5 poszukuję dobrego tutoriala w tym temacie. Będę wdzięczny za pomoc w tym temacie. A może ktoś mi podpowie jak napisać coś co będzie wyświetlało dane z bazy mysql po stronie frontowej panelu administracyjnego w postaci tabeli żeby można było modyfikować te dane i potem zapisać z powrotem do bazy? Serdecznie dziękuję za pomoc

Dziudek
20-11-2012, 10:56
Tutaj znalazłem tutorial sensowny: http://robertmatuszewski.pl/blog/joomla/ (10 części) choć nie ukrywam, że jeżeli ktoś chce profesjonalnie działać jako programista to pora podszlifować angielski, chociażby z tego względu, że przetłumaczenie materiałów na polski trochę zajmuje, a przy obecnym tempie rozwoju Joomla! to tempo tłumaczeń jest za wolne ;)

prostepc
20-11-2012, 12:53
Ten tutorial znalazłem i według niego się uczę ale nie wiem jak pobrać dane z bazy no i potem po ewentualnej edycji zapisać wszystkie dane znowu do bazy. Jak się wywołuje przycisk zapisz w ogóle ?

Pawelo31
20-11-2012, 13:40
Tworze aktualnie komponent joomla 2.5 po analizie kodu z tego tutoriala. Może w czymś pomogę. tutaj masz formularz i zapisywanie do bazy (http://robertmatuszewski.pl/blog/joomla/komponenty-joomla-2-5-cz-4-2/#comment-4664) Plik addcity.xml można pominąć i stworzyć własny formularz w widoku.
A tutaj jak wyświetlić przycisk i pola


<form enctype="multipart/form-data" action="" method="post" name="addcity"> <li><?php echo $form->getLabel('kontynent', ''); ?> <?php echo $form->getInput('kontynent', ''); ?></li> <li><?php echo $form->getLabel('nazwa_miasta', ''); ?> <?php echo $form->getInput('nazwa_miasta', ''); ?></li> <li><?php echo $form->getLabel('ilosc_mieszkancow', ''); ?> <?php echo $form->getInput('ilosc_mieszkancow', ''); ?></li> <li><?php echo $form->getLabel('powierzchnia', ''); ?> <?php echo $form->getInput('powierzchnia', ''); ?></li> <?php echo $form->getLabel('edytor_opis', ''); ?>
<?php echo $form->getInput('edytor_opis', ''); ?> <div class="clr"></div><input class="add" type=submit value="Zapisz"><input type="hidden" name="option" value="com_katalog" /><input type="hidden" name="view" value="" /><input type="hidden" name="task" value="save" /></form>

prostepc
20-11-2012, 13:49
no mi chodzi żeby wyświetlanie danych i ich modyfikacja realizowane było tylko w panelu administratora w komponencie najpierw chce pobrać dane z tabeli w bazie mysql potem wyświetlam je w panelu administratora w komponencie w polach input np żeby można było je edytować a po edycji chce mieć możliwość ich ponownego zapisania do bazy.

prostepc
20-11-2012, 14:30
jak zapisuje dane to joomla przez zapisz przycisk sama mi zapisze wszystkie rekordy ponownie przez nadpisanie ich w bazie czy muszę każdy rekord osobno updatować?

Pawelo31
20-11-2012, 14:47
nadpisze każdy z osobna
ściągnij komponent z ostatniego artykułu czyli 10 i przetestuj

prostepc
20-11-2012, 15:54
a powiedz mi czemu może znikać mi menu na stronie administratora po ponownym kliknięciu na nie ?

Pawelo31
20-11-2012, 19:53
a masz w pliku view.html.php odpowiedniego widoku zdefiniowane menu
wklejam przykładowy kod




// No direct access to this file
defined('_JEXEC') or die('Restricted access');

// import Joomla view library
jimport('joomla.application.component.view');


class KatalogViewAdcategory_adm extends JView
{
/**
* @return void
*/

function display($tpl = null)
{
JSubMenuHelper::addEntry(JText::_('Statystyki'), 'index.php?option=com_katalog&amp;view=statistic_adm', false);
JsubMenuHelper::addEntry(JText::_('Edytuj kategorie'), 'index.php?option=com_katalog&amp;view=edcategory_adm' , false);
JSubMenuHelper::addEntry(JText::_('Edytuj miasta'), 'index.php?option=com_katalog&amp;view=editems_adm', false);
JsubMenuHelper::addEntry(JText::_('Dodaj kategorię'), 'index.php?option=com_katalog&amp;view=adcategory_adm' , true);
JSubMenuHelper::addEntry(JText::_('Publikuj/usuń miasto'), 'index.php?option=com_katalog&amp;view=aditems_adm', false);
JToolBarHelper::title( JText::_('Dodaj kategorię'), 'generic.png' );

$task = JRequest::getCmd('task');
$model = &$this->getModel('adcategory_adm');

if ($task == 'zapisz') {
$dodajKategorie = $model->setCategory();
}

parent::display($tpl);
}
}

prostepc
21-11-2012, 09:26
tak, mam wszędzie menu w każdym widoku, pierwszy raz jak uruchamiam komponent to menu jest klikam po kolei wszystkie linki w menu i menu działa dopóki nie przejdę kolejny raz do jednego z wcześniej już wybranego linka z menu po jego kliknięciu menu znika i już nie wraca dopiero po jakimś czasie tak jak by sie coś zresetowało ale potem sytuacja się powtarza.

tofurman
10-09-2013, 01:55
a powiedz mi czemu może znikać mi menu na stronie administratora po ponownym kliknięciu na nie ?
Dobre pytanie. Mi też znikało, dopóki nie wyłączyłem CACHE. Być może u Ciebie jest tak samo. Prawdopodobnie pisząc komponent i testując go klikasz na niego dość często i coś się w Cache miesza.

Tor_
11-09-2013, 12:06
"coś co będzie wyświetlało dane z bazy mysql po stronie frontowej..." O ile dobrze pamiętam to jest taki "wynalazek" JooDatabase (http://extensions.joomla.org/extensions/core-enhancements/coding-a-scripts-integration/embed-a-include/22227?qh=YToxOntpOjA7czoxMToiam9vZGF0YWJhc2UiO30%3 D) myślę że powinieneś rzucić na to okiem