Skip to content

Commit dba0b05

Browse files
committed
version 1.1.8
1 parent eb323e0 commit dba0b05

32 files changed

+4077
-2452
lines changed

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.gitattributes export-ignore
2+
.gitignore export-ignore
3+
*README.md export-ignore

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.idea

README.md

Lines changed: 165 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,165 @@
1-
<h1>Modul pro VirtueMart 3</h1>
2-
<h2>Instalace</h2>
3-
<ol style="color: black; ">
4-
<li>
5-
<ul>
6-
<li><a href="https://github.com/Zasilkovna/virtuemart3/archive/master.zip">Stáhnout soubor modulu »</a></li>
7-
<li>V případě, že používáte modul One Page Checkout od VirtuePlanet <a href="https://github.com/Zasilkovna/virtuemart3/archive/VirtuePlanetOPC.zip">upravenou verzi stáhnete zde »</a></li>
8-
</ul>
9-
</li>
10-
<li>Modul vyžaduje minimálně verzi <b>Joomla 3.0</b> a <b>VirtueMart 3.0.x</b>. Máte-li starší, napište nám prosím používanou verzi a adresu e-shopu na <a href="mailto:[email protected]">[email protected]</a>.</li>
11-
<li>
12-
Přihlašte se do administrace Joomly, otevřete nabídku Extensions -> Extension manager a nahrajte nainstalujte modul<br><br>
13-
<a href="https://cloud.githubusercontent.com/assets/11771520/9033047/5410b934-39c4-11e5-8335-ba934bc9cf7c.png"><img src="https://cloud.githubusercontent.com/assets/11771520/9033047/5410b934-39c4-11e5-8335-ba934bc9cf7c.png"></a><br><br>
14-
</li>
15-
<li>
16-
Mělo by se zobrazit hlášení o úspěšné instalaci. Nyní je potřeba modul povolit.<br><br>
17-
<a href="https://cloud.githubusercontent.com/assets/11771520/9033152/11e93936-39c5-11e5-976c-d65d15f0b644.png"><img src="https://cloud.githubusercontent.com/assets/11771520/9033152/11e93936-39c5-11e5-976c-d65d15f0b644.png"></a>
18-
<br><br>
19-
</li>
20-
<li>
21-
Nastavení hesla API, názvu obchodu, dobírky a další se provede na stránce <b>Components – VirtueMart – Configuration – ZASILKOVNA</b> v panelu Config. Váše heslo API najdete ve své klientské sekci, pod <strong><em>Můj účet</em></strong><br><br>
22-
<a href="https://cloud.githubusercontent.com/assets/11771520/9033470/8035128c-39c7-11e5-81c1-f88fa906f5ad.png"><img src="https://cloud.githubusercontent.com/assets/11771520/9033470/8035128c-39c7-11e5-81c1-f88fa906f5ad.png"></a><br><br>
23-
</li>
24-
<li>
25-
Po nastavení hesla API je potřeba přidat dopravní metody. V <b>Components – VirtueMart – Shop – Shipment Methods</b> přidejte novou dopravní metodu a vyberte <b>Shipment method: Zasilkovna VM3</b><br><br>
26-
<a href="https://cloud.githubusercontent.com/assets/11771520/9033592/f5afc4b6-39c8-11e5-8415-7778fd07601b.png"><img src="https://cloud.githubusercontent.com/assets/11771520/9033592/f5afc4b6-39c8-11e5-8415-7778fd07601b.png"></a><br><br>
27-
</li>
28-
<li>
29-
U dopravní metody je ještě potřeba <b>nastavit cenu, daň a cílovou zemi</b> (pokud chcete povolit všechny země, žádnou nevybírejte). Nastavení provedete rozkliknutím dopravní metody v panelu <b>Configuration</b><br><br>
30-
<a href="https://cloud.githubusercontent.com/assets/11771520/9033594/f781f296-39c8-11e5-837d-d929255e1653.png"><img src="https://cloud.githubusercontent.com/assets/11771520/9033594/f781f296-39c8-11e5-837d-d929255e1653.png"></a><br><br>
31-
</li>
32-
<li>
33-
Nyní by měla být zásilkovna nabízena jako další možnost dopravy. <br><br>
34-
<a href="https://cloud.githubusercontent.com/assets/11771520/9033596/f96466b6-39c8-11e5-91c2-deffb26fa703.png"><img src="https://cloud.githubusercontent.com/assets/11771520/9033596/f96466b6-39c8-11e5-91c2-deffb26fa703.png"></a><br><br>
35-
</li>
36-
<li>
37-
Pokud si přejete <b>omezit některé kombinace doprava-platba</b>, postupujte dle návodu v nastavení modulu (Components - VirtueMart - Configuration - ZASILKOVNA) panel Config dole. Poté můžete v tabulce zaškrtat povolené kombinace.<br><br>
38-
</li>
39-
<li>
40-
Dále až budete mít nějaké objednávky se způsobem dopravy Zásilkovna, můžete je automaticky podat do systému Zásilkovny, vytisknout štítky nebo exportovat do CSV. To vše se provede v nastavení modulu (Components - VirtueMart - Configuration - ZASILKOVNA) panelu <b>EXPORT</b><br><br>
41-
<a href="https://cloud.githubusercontent.com/assets/11771520/9033598/fb3b509e-39c8-11e5-952a-5f400c8ba3d4.png"><img src="https://cloud.githubusercontent.com/assets/11771520/9033598/fb3b509e-39c8-11e5-952a-5f400c8ba3d4.png"></a><br><br>
42-
</li>
43-
</ol>
44-
<h2>Informace o modulu</h2>
45-
<p>Podporované verze:</p>
46-
<ul>
47-
<li>VirtueMart 3.0.x a novější</li>
48-
<li>Joomla! 3.0 a novější</li>
49-
<li>Při problému s použitím v jiné verzi nás kontaktujte na adrese <a href="mailto:[email protected]">[email protected]</a></li>
50-
</ul>
51-
<p>Poskytované funkce:</p>
52-
<ul>
53-
<li>Instalace typu dopravního modulu Zásilkovna
54-
<ul>
55-
<li>možnost rozlišení ceny dle cílové země</li>
56-
<li>volba typu zobrazení stejná jako v <a href="http://www.zasilkovna.cz/pristup-k-pobockam/pruvodce">průvodci vložením poboček (JS API)</a></li>
57-
<li>vybraná pobočka se zobrazuje v detailu objednávky v uživatelské (front-office) i administrátorské (back-office) sekci</li>
58-
</ul>
59-
</li>
60-
<li>Možnost exportu souboru s objednávkami
61-
<ul>
62-
<li>možnost označit objednávky, export CSV souboru pro hromadné podání zásilek</li>
63-
<li>vyznačení již exportovaných objednávek</li>
64-
<li>automatické a manuální označení dobírek</li>
65-
</ul>
66-
</li>
67-
<li>Možnost přímého podání do systému Zásilkovna a tisku štítků</li>
68-
<li>Možnost zakázání některých kombinací doprava-platba</li>
69-
</ul>
1+
[Návod v češtině](https://github.com/Zasilkovna/virtuemart3#modul-pro-virtuemart-3-+-joomla-3)
2+
3+
# Module for VirtueMart 3 + Joomla 3
4+
5+
### Download module
6+
7+
[Actual version 1.1.8]
8+
9+
### Installation
10+
11+
The current version of the module is available on the github in the repository https://github.com/Zasilkovna/virtuemart3.
12+
To download the module directly as a zip package, click the button **Clone or download** and choose an option **Download ZIP**.
13+
14+
To install the plug-in, you need to do the following:
15+
16+
- log in to Joomla administration (usually at {domain} / administrator)
17+
- in the top menu, select ** Extensions / Manage / Install **
18+
- in the tab **Upload Package File** drag the installation package to the marked section, or click **Or Browse for file** and select the installation package file
19+
20+
### Plugin configuration
21+
22+
#### Basic configuration
23+
24+
- In the Joomla administration, select in the top menu **VirtueMart** / **Configuration**.
25+
- Select in the left menu **CONFIGURATION** / **PACKETA**.
26+
- Go to the ** Configuration ** tab.
27+
- Fill in **API key** which you can find in the [client section] (https://client.packeta.com/cs/support/) » Client support.
28+
- Enter ** E-shop ID ** - the sender name you have set in the client section of your [sender] (https://client.packeta.com/cs/senders/).
29+
30+
31+
##### General rules
32+
33+
- **default price** - the shipping price applies if the country-specific default price is not filled
34+
- **Maximum weight** - for orders with a larger weight, the Packeta shipping method will not be offered in the cart
35+
- **free shipping** - if the order price is higher, free shipping
36+
37+
#### Configuring Weighting Rules and Pricing
38+
39+
Pro každou podporovanou zemi je možné nastavit:
40+
- ** default price ** - the price will be applied if you do not fill in the pricing rules, or the order weight exceeds the set weighting rules for a particular country
41+
- ** free shipping ** - if the order price is higher, free shipping
42+
- ** Weight rules ** - click ** Add ** to set prices for different order weights. To cancel the weight rule, click the ** Remove ** button
43+
44+
Save the configuration with the ** Save ** button in the upper left corner of the page.
45+
Next, select ** VirtueMart ** / ** Shipment Methods ** in the top menu and add a new shipping method. The added method must have ** Shipment Method ** set to ** VM3 Mail **
46+
47+
#### List of orders
48+
49+
- In the Joomla administration, select the item in the top menu **VirtueMart** / **Configuration**.
50+
- Select in the left menu **CONFIGURATION** / **PACKETA**.
51+
- Go to the ** Orders ** tab.
52+
- To export shipments, check the checkbox in the first column of the order and then click the ** CSV ** button (when exporting to a csv file) or the ** Submit Shipments ** button (in case of direct submission).
53+
54+
- Export shipments to CSV file:
55+
- Mark orders (by checkbox) that you want to export to CSV file.
56+
- Above the list of orders, click the ** CSV ** button to save the file.
57+
58+
- Direct submission (via API):
59+
- Mark orders (checkbox) that you want to send to the Packeta.
60+
- Above the list of orders, click the ** Submit Shipments ** button.
61+
- To print labels, check the checkbox in the ** Print Labels ** column of the order, then click the ** Print Labels ** button above the order list.
62+
63+
### Module information
64+
65+
#### Supported languages:
66+
67+
- czech
68+
- english
69+
70+
#### Supported versions:
71+
72+
- VirtueMart 3 + Joomla 3
73+
- If you have trouble using the module, please contact us at [[email protected]](mailto:[email protected])
74+
75+
#### Functions provided:
76+
77+
- Widget integration in eshop cart
78+
- Set different prices for different target countries
79+
- Setting prices according to weight rules
80+
- Free shipping from the specified price or weight of the order
81+
- Export shipments to csv file, which can be imported in [client section](https://client.packeta.com/)
82+
- Přímé podání zásilek do systému Zásilkovny a tisk štítků
83+
- Direct orders submission to the Packeta system and labels printing
84+
85+
86+
# Modul pro VirtueMart 3 + Joomla 3
87+
88+
### Stažení modulu
89+
90+
[Aktuální verze 1.1.8]
91+
92+
### Instalace
93+
94+
Aktuální verze modulu je dostupná na githubu v repository https://github.com/Zasilkovna/virtuemart3.
95+
Pro přímé stažení modulu jako zip balíčku je potřeba kliknout na tlačítko **Clone or download** a zvolit možnost **Download ZIP**.
96+
97+
Pro instalaci plug-inu je potřeba provést následující kroky:
98+
99+
- přihlašte se do administrace systému Joomla (obvykle na adrese {doména}/administrator)
100+
- v horním menu vyberte položku **Rozšíření / Spravovat / Instalovat**
101+
- v záložce **Upload Package File** přetáhněte instalační balíček do vyznačené části, nebo klikněte na tlačítko **Or Browse for file** a vyberte soubor s instalačním balíčkem
102+
103+
### Konfigurace plug-inu
104+
105+
#### Základní konfigurace
106+
107+
- V administraci systému Joomla vyberte v horním menu položku **VirtueMart** / **Configuration**.
108+
- V levém menu vyberte položku **CONFIGURATION** / **PACKETA**.
109+
- Přejděte na záložku **Konfigurace**.
110+
- Vyplňte **API klíč** který naleznete v [klientské sekci](https://client.packeta.com/cs/support/) » Klientská podpora.
111+
- Zadejte **Identifikátor eshopu** - označení odesílatele které máte nastaveno v klientské sekci u vašeho [odesílatele](https://client.packeta.com/cs/senders/).
112+
113+
114+
##### Obecná pravidla
115+
116+
- **Výchozí cena** - cena za přepravu se použije v případě, že není vyplněna výchozí cena u konkrétní země
117+
- **Maximální váha** - u objednávek s větší hmotnostní nebude v košíku přepravní metoda Zásilkovna nabízena
118+
- **Doprava zdarma** - pokud bude cena objednávky vyšší bude doprava zdarma
119+
120+
#### Konfigurace váhových pravidel a cen
121+
122+
Pro každou podporovanou zemi je možné nastavit:
123+
- **Výchozí cena** - cena se použije pokud nevyplníte cenová pravidla, nebo hmotnost objednávky přesáhne nastavená váhová pravidla pro konkrétní zemi
124+
- **Doprava zdarma** - pokud bude cena objednávky vyšší bude doprava zdarma
125+
- **Váhová pravidla** - kliknutím na tlačítko **Přidat** můžete nastavit ceny pro různé váhy objednávky. Pro zrušení váhového pravidla klikněte na tlačítko **Odebrat**
126+
127+
Konfiguraci uložte tlačítkem **Save** v levém horním rohu stránky.
128+
Dále je potřeba zvolit v horním menu položku **VirtueMart** / **Shipment Methods** a přidat novou metodu dopravy. Přidaná metoda musí mít parametr **Shipment Method** nastavený na **Zasilkovna VM3**
129+
130+
#### Seznam objednávek
131+
132+
- V administraci systému Joomla vyberte v horním menu položku **VirtueMart** / **Configuration**.
133+
- V levém menu vyberte položku **CONFIGURATION** / **PACKETA**.
134+
- Přejděte na záložku **Objednávky**.
135+
- Pro export zásilek je potřeba zaškrtnout checkbox v prvním sloupci u objednávky a poté kliknout na tlačítko **CSV** (při exportu do csv souboru) nebo na tlačítko **Podat zásilky** (v případě přímého podání).
136+
137+
- Export zásilek do CSV souboru:
138+
- Označte objednávky (zaškrtnutím checkboxu) které chcete exportovat do CSV souboru.
139+
- Nad seznamem objednávek naleznete klikněte na tlačítko **CSV** a soubor uložte.
140+
141+
- Přímé podání zásilek (přes API):
142+
- Označte objednávky (zaškrtnutím checkboxu) které chcete odeslat do Zásilkovny.
143+
- Nad seznamem objednávek naleznete klikněte na tlačítko **Podat zásilky**.
144+
- Pro tisk šítků je zaškrtněte checkbox ve sloupci **Tisk štítků** u příslušné objednávky a poté klikněte na tlačítko **Vytisknout štítky** nad seznamem objednávek.
145+
146+
### Informace o modulu
147+
148+
#### Podporované jazyky:
149+
150+
- čeština
151+
- angličtina
152+
153+
#### Podporované verze:
154+
155+
- VirtueMart 3 + Joomla 3
156+
- Při problému s použitím modulu nás kontaktujte na adrese [[email protected]](mailto:[email protected])
157+
158+
#### Poskytované funkce:
159+
160+
- Integrace widgetu v košíku eshopu
161+
- Nastavení různé ceny pro různé cílové země
162+
- Nastavení cen podle váhových pravidel
163+
- Doprava zdarma od zadané ceny nebo hmotnosti objednávky
164+
- Export zásilek do csv souboru, který lze importovat v [klientské sekci](https://client.packeta.com/)
165+
- Přímé podání zásilek do systému Zásilkovny a tisk štítků

install.zasilkovna.php

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,16 @@ public function preflight($route, JAdapterInstance $adapter) {
6666

6767
}
6868

69+
function endsWith($haystack, $needle)
70+
{
71+
$length = strlen($needle);
72+
if ($length == 0) {
73+
return true;
74+
}
75+
76+
return (substr($haystack, -$length) === $needle);
77+
}
78+
6979
/**
7080
* Called after any type of action
7181
*
@@ -80,14 +90,16 @@ public function postflight($route, JAdapterInstance $adapter) {
8090
$media_path = JPATH_ROOT . DS . 'media' . DS . 'com_zasilkovna' . DS;
8191
recurse_copy($media_path . 'admin' . DS . 'com_virtuemart' . DS, $vm_admin_path . DS);
8292

83-
$db =& JFactory::getDBO();
84-
$q = "SELECT DISTINCT element FROM `#__extensions` WHERE `type` = 'language' AND `element` IN ('en-GB','cs-CZ','sk-SK')";
85-
$db->setQuery($q);
86-
87-
while($obj = $db->loadNextObject()) {
88-
$langCode = $obj->element;
89-
recurse_copy($media_path . 'admin' . DS . $langCode . '.plg_vmshipment_zasilkovna.ini', JPATH_ADMINISTRATOR . DS . 'language' . DS . $langCode . DS . $langCode . '.plg_vmshipment_zasilkovna.ini');
90-
}
93+
$files = scandir($media_path . 'admin' . DS);
94+
foreach ($files as $index => $filename){
95+
if ($this->endsWith($filename, '.ini')){
96+
$locale = explode('.',$filename)[0];
97+
if (file_exists(JPATH_ADMINISTRATOR . DS . 'language' . DS . $locale))
98+
{
99+
recurse_copy($media_path . 'admin' . DS . $filename, JPATH_ADMINISTRATOR . DS . 'language' . DS . $locale . DS . $filename);
100+
}
101+
}
102+
}
91103

92104
$db =& JFactory::getDBO();
93105
$q = "CREATE TABLE IF NOT EXISTS #__virtuemart_zasilkovna_branches (
@@ -119,6 +131,7 @@ public function postflight($route, JAdapterInstance $adapter) {
119131
`virtuemart_country_id` varchar(255) DEFAULT NULL,
120132
`adult_content` smallint(1) DEFAULT '0',
121133
`is_cod` smallint(1) DEFAULT NULL,
134+
`packet_cod` decimal(15,2) DEFAULT '0',
122135
`exported` smallint(1) DEFAULT NULL,
123136
`printed_label` smallint(1) DEFAULT '0',
124137
`shipment_name` varchar(5000) DEFAULT NULL,
@@ -136,7 +149,8 @@ public function postflight($route, JAdapterInstance $adapter) {
136149
$db->setQuery($q);
137150
$db->query();
138151

139-
$q = "INSERT INTO #__virtuemart_adminmenuentries (`module_id`, `parent_id`, `name`, `link`, `depends`, `icon_class`, `ordering`, `published`, `tooltip`, `view`, `task`) VALUES
152+
$q = "
153+
INSERT INTO #__virtuemart_adminmenuentries (`module_id`, `parent_id`, `name`, `link`, `depends`, `icon_class`, `ordering`, `published`, `tooltip`, `view`, `task`) VALUES
140154
(5, 0, 'ZASILKOVNA', '', '', 'vmicon vmicon-16-zasilkovna', 1, 1, '', 'zasilkovna', '');";
141155
$db->setQuery($q);
142156
$db->query();
@@ -163,6 +177,21 @@ public function install(JAdapterInstance $adapter) {
163177
* @return boolean True on success
164178
*/
165179
public function update(JAdapterInstance $adapter) {
180+
// update of admin part of module
181+
$vm_admin_path = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart';
182+
$media_path = JPATH_ROOT . DS . 'media' . DS . 'com_zasilkovna' . DS;
183+
recurse_copy($media_path . 'admin' . DS . 'com_virtuemart' . DS, $vm_admin_path . DS);
184+
185+
$files = scandir($media_path . 'admin' . DS);
186+
foreach ($files as $index => $filename){
187+
if ($this->endsWith($filename, '.ini')){
188+
$locale = explode('.',$filename)[0];
189+
if (file_exists(JPATH_ADMINISTRATOR . DS . 'language' . DS . $locale))
190+
{
191+
recurse_copy($media_path . 'admin' . DS . $filename, JPATH_ADMINISTRATOR . DS . 'language' . DS . $locale . DS . $filename);
192+
}
193+
}
194+
}
166195

167196
}
168197

@@ -183,8 +212,11 @@ public function uninstall(JAdapterInstance $adapter) {
183212
recurse_delete($vm_admin_path . DS . 'views' . DS . 'zasilkovna' . DS);
184213
recurse_delete($vm_admin_path . DS . 'controllers' . DS . 'zasilkovna.php');
185214
recurse_delete(JPATH_ADMINISTRATOR . DS . 'language' . DS . 'en-GB' . DS . 'en-GB.plg_vmshipment_zasilkovna.ini');
186-
187-
215+
recurse_delete(JPATH_ADMINISTRATOR . DS . 'language' . DS . 'cs-CZ' . DS . 'cs-CZ.plg_vmshipment_zasilkovna.ini');
216+
recurse_delete(JPATH_ADMINISTRATOR . DS . 'language' . DS . 'sk-SK' . DS . 'sk-SK.plg_vmshipment_zasilkovna.ini');
217+
recurse_delete(JPATH_ADMINISTRATOR . DS . 'language' . DS . 'pl-PL' . DS . 'pl-PL.plg_vmshipment_zasilkovna.ini');
218+
recurse_delete(JPATH_ADMINISTRATOR . DS . 'language' . DS . 'hu-HU' . DS . 'hu-HU.plg_vmshipment_zasilkovna.ini');
219+
recurse_delete(JPATH_ADMINISTRATOR . DS . 'language' . DS . 'ro-RO' . DS . 'ro-RO.plg_vmshipment_zasilkovna.ini');
188220
}
189221

190222
}

0 commit comments

Comments
 (0)