Zobacz pełną wersję : DJCatalog - kilka problemów
Mam DJCatalog (komponent w wersji 1.0.4). Dzięki pomocy uzyskanej na tym forum przetłumaczyłem już opisy wyświetlane przez komponent. Teraz kolejne zadania do rozwałki:
1. wyświetla mi standardowe 7 produktów w tabeli i mimo zmiany ilości (w konfiguracji) nie można tego zmienić (a zmiana wartości w konfiguracji jest pamiętana poprawnie),
2. wielkość fotek - miniaturki wyświetlane w tabeli głównej wydają się działać poprawnie, natomiast chciałbym mieć większe fotki produktu po wejściu w jego opis. Kombinowałem na różne sposoby, w konfiguracji dawałem sporą wielkość obrazka z miniaturki, próbowałem też bezpośrednio wpisać w edytorku (tryb html) ścieżkę do jakiegokolwiek innego obrazka leżącego na serwerze - nic to nie daje ! To chyba nie jest książkowe zachowanie się tego komponentu, przecież w trybie edytorka Tiny ma on m.in. ikonkę pozwalającą wkleić obrazek do tekstu (to też nic nie daje, tzn. kod linki do obrazka w trybie html jest wklejany, ale nie widać obrazka w karcie produktu).
3. Chciałem też nieco zmienić wygląd lewego menu (kategorie produktów), przeedytowałem nieco CSS od skórki, wielkość i kolor liter już mam, ale w tle chciałem zrobić coś a'la "button" graficzny (na razie zupełnie prosto na zasadzie odwrócenia kolorów tła i liter) - od lewej strony lewego modułu jest OK, przez cały wyraz będący elementem menu też, ale na wyrazie to nowe formatoanie gwałtownie się kończy. Wygląda to bardzo źle, opcje w menu mają różnej wielkości wyrazy i przeskakiwanie między nimi skutkuje zmienną szerokością odwróconego kolorystycznie tła.
Jeśli możecie mi coś podrzucić, najważniejsze są dwa pierwsze punkty.
Pozdrawiam Szanownych Uczestników forum :-)
malkowitch
04-07-2009, 16:38
1: prawdopodobnie w kodzie paginacji ktoś coś poknocił i ustalił stalą wartość
na twoim miejscu włączyłbym debug strony i zobaczył czy nie ma żadnych warning itp.
2: poczytaj o template overrrides (jest na forum i w wiki)
3: css sknociłes najpewniej
z wymienionych punktów został 1. do zrobienia, debugowanie nic nie wnosi do sprawy
znalazłem taki kawałek kodu, niestety trochę za cienki chyba jestem jeszcze...
---------
class DjCatalogViewItems extends JView
{
function display($tpl = null)
{
global $mainframe, $option;
$model =& $this->getModel();
$limit = JRequest::getVar('limit', 10, '', 'int');
$limitstart = JRequest::getVar('limitstart', 0, '', 'int');
jimport('joomla.html.pagination');
$lista_count_items = $model->getCount();
$pagination = new JPagination($lista_count_items, $limitstart, $limit);
$this->assignRef('pagination',$pagination);
$nl = $model->getItems();
$cats = $model->getCategories();
$this->assignRef('list',$nl);
$this->assignRef('cats', $cats);
JToolBarHelper::title(JText::_('ITEMS'));
JToolBarHelper::preferences('com_djcatalog','500') ;
JToolBarHelper::addNew('addItem',JText::_('ADD'));
JToolBarHelper::editList('editItem',JText::_('EDIT '));
JToolBarHelper::deleteList(JText::_('REMOVE_ACCEPT ATION'),'removeItem');
JSubMenuHelper::addEntry(JText::_('CATEGORIES'), 'index.php?option=com_djcatalog', false);
JSubMenuHelper::addEntry(JText::_('ITEMS'), 'index.php?option=com_djcatalog&task=items', true);
JSubMenuHelper::addEntry(JText::_('NO_CATEGORY_ITE MS'), 'index.php?option=com_djcatalog&task=nocategoryitems', false);
JSubMenuHelper::addEntry(JText::_('DELETING PRODUCERS'), 'index.php?option=com_djcatalog&task=producers', false);
parent::display($tpl);
}
-------------------
malkowitch
17-08-2009, 19:10
tu masz kod do pobrania ilości elementów na stronę
$limit = JRequest::getVar('limit', 10, '', 'int');
Zamiast tego wrzucił bym na twoim miejscu coś takiego:
$limit = JRequest::getVar('limit', 10, '', 'int');
echo "Limit: ".$limit."<br />";
echo "get Var Limit : ".JRequest::getVar('limit')."<br />";
die();
$limitstart = JRequest::getVar('limitstart', 0, '', 'int');
żeby sprawdzić czy limit jest dobrze pobierany.
Do tego przydały by się informacje z tego ile produktów masz na stronie.
Plus. Pisałeś do Design Joomla?
Pisałem, nawet rozmawiałem telefonicznie, niestety - główny koder jest nieuchwytny do końca września chyba, a projekt jako open source ma niski priorytet. Jest u nich nieco nowsza wersja, ona już pozwala na ustawianie ilości w konfiguracji i to nawet działa, z tym że elegancko mi gubi połączenia w bazie (trochę produktów z przypisaniem do kategorii/podkategorii) i fotek jest już wprowadzonych.
Do tej pierwszej linijki kodu też doszedłem, że to prawdopodobnie będzie to miejsce, niestety w tym języku nie koduję tak biegle. Czy dużym kłopotem byłoby zadanie w kodzie, żeby nie pobierał ilości wyświetlanych składników, tylko po prostu wpisanie mu na stałe tej liczby ?
malkowitch
17-08-2009, 23:20
zamieniasz to:
$limit = JRequest::getVar('limit', 10, '', 'int');
na to:
$limit = 10; // czyli liczbę produktów na stronę
A mogę wiedzieć jako co używasz tego komponentu?
jako bardzo prostego katalogu produktów, bez podawania cen, itd.
generalnie on jest wystarczający
no to prościutki ten kod, sądziłem że tam jest przekazywana cała paczka (np. tabela) danych, zaraz się z tym zmierzę
sprawdzam to proste podstawienie, ale jest sporo tych plików rozsianych po tym drzewku katalogów... sugerujesz najpierw podmiany w /components/com/djcatalog czy /administrator/components/com_djcatalog ?
malkowitch
18-08-2009, 10:08
jak zmienisz paginacje w "administrator/components itp" to będizesz miał ustawioną paginację w panelu administracyjnym.
Jak ustawisz w "components/com_djcatalog itp" to będziesz miał na froncie.
Nie kombinuj bo przeginasz już
Kłopot jest tylko taki, że miejsc z tym kodem jest trochę. Wygląda to wręcz tak, jakby miało być trudniej. Ok, potestuję zmianę tego kodu po kolei, w końcu trafimy w punkt. Dzięki za wsparcie.
malkowitch
18-08-2009, 11:51
Za paginację powinien teoretycznie odpowiadać plik:
/componenets/com_djcatalog/views/items/view.html.php
I nie kombinuj tylko próbuj.
Mam wrażenie, że w nim już sobie dłubałem coś, jutro się temu jeszcze raz przyjrzę, trochę byłem w rozjazdach i najpierw trzeba się wyspać :-)
$limit = 20; /* tutaj strzeliłem stałą wartość*/
$limitstart = JRequest::getVar('limitstart', $limit, '', 'int');
$pagination = new JPagination($lista_count_items, $limitstart, $limit);
no więc strzeliłem taką zmianę w /com_djcatalog/views/show/view.html.php
ale nie ma żadnej zmiany w behawiorze witryny, dalej paginacja dzieli na kawałki po 7 rekordów
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!