PDA

Zobacz pełną wersję : Virtuemart - szablon



ats2008
10-10-2010, 22:02
Panie i Panowie,

zdziwiłem się kiedy w sieci nie znalezłem niczego na temat tworzenia szablonów do sklepu VirtueMart. Dopiero zaczynam zabawę z tym komponentem.

Będę wdzięczny za podpowiedź, najlepiej link w jaki sposób edytować wygląd wyświetlania. Czy robię to przez nadpisanie szablonem joomla, czy tworzę osobny szablon Virtuemart. Chcę zmienić sposoby wyświetlania i prezentacji produktów.

Zresztą w panelu konfiguracyjnym sklepu jest wybór szablonu. U mnie tylko default, więc powinno się raczej tworzyć szablony.

Z góry dzięki.

Pozdrawiam.

sunpietro
11-10-2010, 12:46
Tak, do Virtuemart się tworzy osobne szablony.
Najczęstszym podejściem do ich tworzenia jest kopiowanie szablonu default, a potem przerabianie go wedle własnego projektu graficznego. Z tego co pamiętam to Virtuemart udostępniał jakąś niewielką dokumentację dotyczącą funkcji w szablonach Virtuemart, które można zaimplementować.

ats2008
11-10-2010, 18:23
ok dzięki, to już wiem co trzeba, później jak mi się uda, to trochę napiszę.

belfegor1
02-12-2010, 22:19
Możesz powiedziec gdzie są pliki do edycji

palyga007
02-12-2010, 22:52
Witaj
Pliki do edycji szablonu VirtueMart znajdziesz (ścieżka z głównego katalogu Joomla!)

components/com_virtuemart/themes/

i tutaj jest katalog default który zawiera domyślny szablon dla VirtueMart
Aby stworzyć nowy szablon wystarczy ze skopiujesz go i np wkleisz pod inną nazwą a stanie się widoczny z poziomu zarządzania sklepem.
Także życzę udanej zabawy.

Pozdrawiam.

belfegor1
03-12-2010, 15:41
Dzięki.
Mam jeszcze takie pytanie.
Używam do rejestracji formularza z virtuemart tylko jak usunąć ten napis (Wymagane*)

bapraster
30-09-2011, 12:54
stworzyłem taki folder i nie widzę go z poziomu sklepu dostępny jest jedynie default co mam zrobić, żeby był widoczny

palyga007
30-09-2011, 13:00
niemożliwe

Tworzony lokalnie czy zdalnie?
jak zdalnie to sprawdź prawa dostępu

zbig1972
30-09-2011, 13:13
Zerknij http://www.linelab.org/download
Oni mają kilka szablonów do VM. Może z nich skorzystasz.

bapraster
30-09-2011, 14:41
no po prostu w filezilla wszedłem do components/com_virtuemart/themes/ obok default stworzyłem nowy folder i zawartość default skopiowałem do nowego folderu prawa tego folderu zmieniłem na 755 czyli tak jak ma default i dalej nie widzę tej opcji. Chyba że ja źle patrze ale wdaje mi się że przestawia się to w configuration - > zakładka site -> okienko layout -> pozycja Select the theme for your Shop

---------- Post dodany o 12:49 ---------- Poprzedni post był o 12:43 ----------

ok widzę go ale czy może ktoś mi powiedzieć który plik odpowiada za zmianę układu głównego okna produktu? w tej chwili jest on na tabelach a ja chcę go zmienić na divy lub chociaż klasy nadać tym tabelom

---------- Post dodany o 13:41 ---------- Poprzedni post był o 12:49 ----------

Dobra zacząłem to już pokieruję to dalej

/components/com_virtuemart/themes/NAZWA SZABLONY VM/templates/product_details

jest tam kilka plików flypage wyciągamy jeden z nich np: flypage-ask.tpl.php , zmieniamy wszystkie znaczniki table, tr, td na divy i zapisujemy

następnie w ustawieniach sklepu wybieramy w pozycji FLYPAGE edytowany plik w moim przypadku flypage-ask.tpl i gotowe

można jeszcze przy divach dodawać klasy i układać je po swojemu dzięki czemu można łatwiej uzyskać planowaną strukturę

bapraster
01-10-2011, 19:00
Potrzebuję teraz pomocy w zakresie dostosowania listy produktów w kategorii. Dostosowałem już plik browse_1.php do wyswietlania produktu w liście. pojedyncze produkty już prezentują się po mojemu ale pojawił się problem gdyz wyswietlaja się one jeden pod drugim zamiast koło siebie. W firebugu sprawdziłem że każdy wiersz otrzymuje indywidualną klasę i zajmuje on 98 % szerokości. Jak zrobić żeby te wiersze miały wszystkie jednakową klasę? Mógłbym wtedy prezentować produkty obok siebie zmieniajac ich szerokość na 33% albo w pixelach. Który plik trzeba edytować aby to zmienic? Pomocy bawię się z tym juz kilka godzin!

palyga007
01-10-2011, 19:07
Virtuemart przynajmniej w linii 1.x to totalna sieczka składniowa kiedyś coś tam grzebałem ale na pewno sobie nie przypomnę co i gdzie. musisz po prostu grzebać grzebać grzebać..
W ogóle to dlaczego wybrałeś VM? jest kilka innych komponentów pod Jommla z tej "branży" chociażby Joomshoping czy też RedShop

mboy
01-10-2011, 19:32
Przy okazji z którą wersją zaczynasz przygode, i czy przez przypadek nie lepiej zacząć się uczyć już nowej wersji 2.0 ?

bapraster
01-10-2011, 20:49
mam VirtueMart 1.1.9 stable (http://virtuemart.net/index2.php?option=com_versions&catid=1&myVersion=1.1.9) i wydaje mi się, że jest ok ale jakoś ciężko się połapać co gdzie tam jest od strony plików obsługujących no nic jak znajde to napiszę gdzie to leży

---------- Post dodany o 19:36 ---------- Poprzedni post był o 19:26 ----------

ok wydaje mi się, że mam plik odpowiedzialny za dodawanie do wiersza klasę o unikalnej nazwie. tylko nie bardzo wiem co mam poprzestawiać tam bo z php to słabo u mnie oto kod


<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__); ?>

<?php echo $buttons_header // The PDF, Email and Print buttons ?>
<?php echo $browsepage_header // The heading, the category description ?>
<?php echo $parameter_form // The Parameter search form ?>
<?php echo $orderby_form // The sort-by, order-by form PLUS top page navigation ?>

<div id="product_list" style="width:100%; float:none;">
<?php
$data =array(); // Holds the rows of products
$i = $row = $tmp_row = 0; // Counters
$num_products = count( $products );

foreach( $products as $product ) {

/*** Now echo the filled cell ***/
if( $tmp_row != $row || $row == 0 ) {
if ( ($num_products - $i) < $products_per_row ) {
$cell_count =$num_products - $i;
}
else {
$cell_count = $products_per_row;
}
$row++;
$tmp_row = $row;
}
$colspan = $products_per_row - $cell_count + 1;
if( $cell_count < 1 ) {
$cell_count = 1;
}

echo "<div style=\"margin-right: 5px; width:". intval(round(100/$cell_count)-2) ."%; float:left;\" id=\"".uniqid( "row_" ) ."\">";

foreach( $product as $attr => $val ) {
// Using this we make all the variables available in the template
// translated example: $this->set( 'product_name', $product_name );
$this->set( $attr, $val );
}

// Parse the product template (usually 'browse_x') for each product
// and store it in our $data array
echo $this->fetch( 'browse/'.$templatefile .'.php' );

$i++;
if ( ($i) % $products_per_row == 0) {
$row++;
/** if yes, close the current "row" ***/
echo "\n</div><br class=\"clr\" />";
}
else {
echo "\n</div>";

}

}
?>
</div>
<br class="clr" />
<?php
echo $browsepage_footer;

// Show Featured Products
if( $this->get_cfg( 'showFeatured', 1 )) {
/* featuredproducts(random, no_of_products,category_based) no_of_products 0 = all else numeric amount
edit featuredproduct.tpl.php to edit layout */
echo $ps_product->featuredProducts(true,10,true);
}
echo $recent_products;

?>

---------- Post dodany o 19:39 ---------- Poprzedni post był o 19:36 ----------

wygląda to tak że wyswietla listę pod postacią div-ów jeden po drugim z 98% szerokości okna i uniemożliwia to rozmieszczenie tych div-ów w poziomie kilku w jednym wierszu. Id które dodaje wyglądają tak #row_4e875b736f131 i z każdym wierszem jest inne



---------- Post dodany o 19:40 ---------- Poprzedni post był o 19:39 ----------

na wstępie napisałem, że chodzi o klasy a to Id jednak

Przepraszam !!:lol:

---------- Post dodany o 19:41 ---------- Poprzedni post był o 19:40 ----------

Ma ktoś pomysł?

---------- Post dodany o 19:49 ---------- Poprzedni post był o 19:41 ----------

albo jak zmienić żeby te divy zamowały po 33%

mboy
01-10-2011, 22:25
zainstaluj sobie VM 2.0 która jest na ich forum i zobacz jakie zmiany na korzyść zrobili, bo uczyć się naprawiać starą wersje, kiedy za chwilę zamkną linie produkcyjną - nie warto.

bapraster
01-10-2011, 22:44
a tam będzie łatwiej? tzn czy masz pewność że w wersji 2 nie napotkam tego samego problemu?

bapraster
20-10-2011, 18:06
Edytuję szablon już od jakiegoś czasu i udało mi się już zmienić sporo elementów. Obecnie ogarniam checkout i zatrzymałem się w jednym miejscu i nie wiem jak dalej ruszyć. W pierwszym punkcie checkoutu jest widoczne okno billing information, pod nim znajduję się okno shipping information i właśnie w tym oknie jest link do kliknięcia Add a new "shipping address" po kliknięciu którego odnosi mnie do strony na której mogę dodać dane adresowe. Wszystko działa dobrze ale nigdzie nie mogę znaleźć pliku który odpowiada za wyświetlanie formularza a zależy mi na tym ze względu na to, że chcę mu nadać klasę by móc edytować wygląd tej strony. Proszę o pomoc gdzie mam szukac pliku odpowiedzialnego za wyświetlanie tego formularza

maverickoti
01-12-2011, 13:01
Właśnie zacząłem modyfikować plik odpowiedzialne za wygląd produktu. Mam jednak problem przy zobaczeniu rezultatów. Zapisuje plik i nic się nie dzieje. W Konfiguracji VirtueMart jest zaznaczony właściwy plik. Ktoś miał już taki problem?

Jdwind
01-12-2011, 20:01
Szkoda, że nie opiszecie dziesięciu tematów w jednym poście. Przecież ilość produktów w wierszu wpisuje się w konfiguracji VM i poszczególnych kategorii.

@maverickoti - oprócz konfiguracji globalnej VM jest jeszcze konfiguracja poszczególnych kategorii. Tam szukaj.

maverickoti
02-12-2011, 13:57
Super:) Teraz coś się dzieje. Wielkie dzięki :D