PDA

Zobacz pełną wersję : DJCatalog - kilka problemów



yogi009
03-07-2009, 22:33
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

yogi009
17-08-2009, 12:26
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?

yogi009
17-08-2009, 23:13
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?

yogi009
18-08-2009, 00:02
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ę

yogi009
18-08-2009, 00:26
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ż

yogi009
18-08-2009, 10:29
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.

yogi009
23-08-2009, 00:12
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ć :-)

yogi009
01-09-2009, 15:59
$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