Post by aipok » Wed Aug 28, 2013 3:37 am

Zdravím milá komunito.
Mám velkou prosbu.
Provozuji obchod řekněme http://www.mojedomena.com. v anglickém jazyce. Další multistore obchod je v českém jazyce na subdoméně cz.mojedomena.com a třetí obchod je například ve slovenském jazyce na subdoméně sk.mojedomena.com.
A nyní mám problém s přidáním produktů. Nainstalované a povolené jsou všechny tři jazyky (EN,CZ,SK). Když přidávám produkt v obchodu v českém jazyce, tak to ode mne požaduje vždy vyplnit všechny informace ve všech jazycích které jsou povoleny. Jedná se mi to to, aby v obchodě 1 v anglickém jazyce bylo možnost vyplnit údaje jen v anglickém jazyce v obchodě v českém jazyce vyplnit pouze v českém jazyce.
Další věc na kterou se vážené komunity chci zeptat. Zda jde nějakým způsobem zakázat v multistore v druhém obchodě např v českém jazyce zakázat jiný jazyk než danou češtinu.
Zahraniční partner neumí česky a když přidává zboží do obchodu v anglickém jazyce musí vždy vyplnit i česky a slovensky.
Je nějaká možnost toto upravit.
A poslední otázka, která mi leží v žaludku :) . Je možnost aby se administrace a samotný obchod zobrazoval v jazyce dotyčného uživatele. Např. na základě prohlížeče daného uživatele pokud je jazykový balíček nainstalován. I když je Default např. Angličtina a člověk je z Česka a český překlad je nainstalován. Tak aby se mu obchod zobrazil automaticky v českém jazyce. A ne v Defaultním Anglickém.
Předem mnohokrát děkuji za pomoc v této záležitosti.

User avatar
New member

Posts

Joined
Wed Jun 26, 2013 8:23 am

Post by hawkey » Wed Aug 28, 2013 5:25 am

Nic z toho co píšete standardně možné není. Zkuste pohledat nějaké moduly, jestli to někde není řešeno.
Všechno by se samozřejmě dalo doprogramovat na zakázku.

Visit OpencartEx - Opencart extensions
Opencart rady a návody česky | Podpora Opencart


Active Member

Posts

Joined
Sun Apr 25, 2010 12:10 am
Location - Olomouc, Czech Republic, Europe

Post by aipok » Wed Aug 28, 2013 6:09 am

Ahoj.
No nalezl jsem něco tady : http://www.opencart.com/index.php?route ... on_id=8618 ,to by asi problém řešilo, ale problém je v tom že dotyčný developer nemá funkční demo tak ani nevím jaká může být eventuálně podpora.
Proto hledám nějaké řešení mezi námi čechy. Jestli by nešlo tuto úpravu udělat zásahem do kódu.
Myslím, že bych to neocenil jen já ale i jiní kteří mají podobnou situaci.

User avatar
New member

Posts

Joined
Wed Jun 26, 2013 8:23 am

Post by CZechBoY » Mon Sep 02, 2013 4:30 pm

opencart nějakou detekci jazyka má, ale nesmí být nic uložené v cookies - tzn. nesmí tam přijít podruhé s vybraným jazykem, potom dostane ten co si vybral naposledy
jazyk administrace se dá nastavit pro konkrétního uživatele v administrace, vytvořte svému partnerovi druhý účet s jiným jazykem

Mass update product descriptions/Hromadná změna popisků zboží


User avatar
Active Member

Posts

Joined
Mon Mar 19, 2012 1:39 am
Location - Europe, Czech republic; Hradec Králové, Brno

Post by aipok » Thu Sep 05, 2013 7:53 pm

Tak ještě jednou zdravím a díky za nasměrování CZechBoY.
Výběr jazyka v administraci jsem nalezl pod názvem Admin Language Selector - Comparison. https://osworx.net/en/component/content ... or?start=1.
Je založený na cookie prohlížeče. Při první návštěvě se zobrazí ve výchozím jazyce nastaveném správcem. Po přepnutí na svůj jazyk, odhlášení z administrace a následné přihlášení je administrace zobrazena v jazyce který dotyčný admin zvolil.
To je vše v pořádku a super.
Mě se však nadále jedná o přidávání produktu v jazyce který si zvolí (např. chci přidat v multistore :obchod 1 český,pouze v čestině, obchod 2 anglický, pouze v angličtině). Aby prostě admin který se stará o český obchod nemusel vyplňovat všechny údaje i v anglickém jazyce. To je můj problém.
Jakékoliv nápady výtány. Předem díky moc.

User avatar
New member

Posts

Joined
Wed Jun 26, 2013 8:23 am

Post by CZechBoY » Thu Sep 05, 2013 9:08 pm

zdravím, zdravím,
mělo by to jít upravit ve funkci validateForm v souboru admin/controller/catalog/product.php

Mass update product descriptions/Hromadná změna popisků zboží


User avatar
Active Member

Posts

Joined
Mon Mar 19, 2012 1:39 am
Location - Europe, Czech republic; Hradec Králové, Brno

Post by aipok » Tue Sep 10, 2013 2:00 am

Ahoj.
Tak jsem se dopracoval o něco blíže. Nic méně stále bez úspěchu. Může někdo podrobněji poradit s touto věcí.
Dostal jsem jednu odpověď ale nevím si s tím rady.
Musíte napsat podmínku pro vaše store_ids a jejich odpovídající jazyk je s id v foreach smyčky ve funkci validateForm:

Code: Select all

foreach ($this->request->post['product_description'] as $language_id => $value) {
if(//condition to check Czech storeid and Czech language id){
  ....
  //validate conditions
  ....
}else{
  ....
  //engish validate conditions
  ....
}
}
Najde se nějaká dobrá duše
Díky Aipok

User avatar
New member

Posts

Joined
Wed Jun 26, 2013 8:23 am

Post by CZechBoY » Tue Sep 10, 2013 2:19 am

no napadlo mě teďka možná jednodušší řešení :-)
nestačilo by vám, kdyby se daly ty jazyky u vkládání/editace odstranit?
to by mělo za následek to, že by se ani nevalidovaly políčka jméno/popis jestli mají správnou délku => žádný error

Mass update product descriptions/Hromadná změna popisků zboží


User avatar
Active Member

Posts

Joined
Mon Mar 19, 2012 1:39 am
Location - Europe, Czech republic; Hradec Králové, Brno

Post by aipok » Tue Sep 10, 2013 2:53 am

Ahoj.
No to by asi mělo stačit. Ale pokud bude potřeba přidat popis, česky i anglicky, tak to bude asi problém že? Tímto způsobem by šlo přidat zboží v jakémkoli obchodě a nemusel by člověk psát popis ve všech nainstalovaných jazycích. To potřebuji. Ale potřebuji aby byla možnost i taková, že jde zadat popis i v angličtině i v čestině. Nebo jen v angličtině a nebo jen v čestině.
Můžeme vyzkoušet, co to bude dělat.
CZechBoY, jsi super, že se tím vůbec zabýváš díky.

User avatar
New member

Posts

Joined
Wed Jun 26, 2013 8:23 am

Post by CZechBoY » Tue Sep 10, 2013 3:33 am

myslel jsem to tak, že by u tabu s jazykem (vedle vlajky) byl křížek a ten by odstranil celej panel s tim jazykem pro ten produkt

mělo by stačit upravit admin/view/template/catalog/product_form.tpl
řádek 22:

Code: Select all

<a href="#language<?php echo $language['language_id']; ?>"><img src="view/image/flags/<?php echo $language['image']; ?>" title="<?php echo $language['name']; ?>" /> <?php echo $language['name']; ?> (<span onclick="if(confirm('Remove this language?\nOdstranit tento jazyk?')){$($(this).parent().attr('href')).remove();$(this).parent().remove();}return false">X</span>)</a>
ale pozor! odstraní se všechny jazyky, které odstraníte u daného produktu
tomu lze zamezit změnou v modelu admin/model/catalog/product.php

Mass update product descriptions/Hromadná změna popisků zboží


User avatar
Active Member

Posts

Joined
Mon Mar 19, 2012 1:39 am
Location - Europe, Czech republic; Hradec Králové, Brno

Post by aipok » Tue Sep 10, 2013 4:06 am

Ahoj.
Zkusil jsem změnit code v admin/view/template/catalog/product_form.tpl
Při přidání produktu se objeví křížek u vlajky, jak jsi popisoval. Nic méně to stále požaduje vyplnit název zboží v anglickém jazyce i v českém jazyce. Aby se produkt uložil. Dále se odstranil popis produktu. A ten se v obchodě nezobrazí na kartě produktu.
Tak si nejsem úplně jistý, jestli tudy povede cesta.:(
Ještě mě napadlo, jestli by nestačilo odstranit hvězdičku, jako povinné pole vyplnit Název zboží, atd.

User avatar
New member

Posts

Joined
Wed Jun 26, 2013 8:23 am

Post by CZechBoY » Tue Sep 10, 2013 4:22 am

jo o tom odstraňování popisu v tom jazyku, kterej odstraníš jsem psal
já když si tam tenhle kod dám tak mi to normálně odstraní a nepožaduje to po mě nic, zajímavé
jaká je verze opencartu? nějaké změny v administračním kodu?

Mass update product descriptions/Hromadná změna popisků zboží


User avatar
Active Member

Posts

Joined
Mon Mar 19, 2012 1:39 am
Location - Europe, Czech republic; Hradec Králové, Brno

Post by aipok » Tue Sep 10, 2013 4:28 am

Verze 1.5.6
žádné změny v admin panelu. Pouze se objevil křížek u každé vlajky. Stále požaduje vyplnit název v každém jazyce, který je povolený.
Myslím, že by stačilo odstranit povinnost vyplnění některých polí.

User avatar
New member

Posts

Joined
Wed Jun 26, 2013 8:23 am

Post by CZechBoY » Tue Sep 10, 2013 4:34 am

no já mám taky 1.5.6 a normálně mi tahle modifikace funguje
zmizí ty panely?

Mass update product descriptions/Hromadná změna popisků zboží


User avatar
Active Member

Posts

Joined
Mon Mar 19, 2012 1:39 am
Location - Europe, Czech republic; Hradec Králové, Brno

Post by aipok » Tue Sep 10, 2013 4:46 am

Jestli máš na mysli ty panely těch vlajek, tak ne. Pouze se u nich zobrazí křížek a zmizí možnost přidat popis.
Jak jsem napsal, asi by stačilo odstranit povinnost v poli pro název, a ostatní, kde je povinnost vyplnit. Tím, by vznikla možnost přidat produkt v obou jazycích a nebo jen v jednom z nich.
Zde je napsáno: http://forum.opencart.com/viewtopic.php ... 9&p=137641, ovšem na jakém řádku, to je otázka ;) .

User avatar
New member

Posts

Joined
Wed Jun 26, 2013 8:23 am

Post by CZechBoY » Tue Sep 10, 2013 4:49 am

jo můžeš dát tu validaci pryč úplně, myslel jsem, že tohle bude lepší řešení no
soubor admin/controller/catalog/product.php funkce validateForm():
zakomentovat foreach nebo odstranit

Mass update product descriptions/Hromadná změna popisků zboží


User avatar
Active Member

Posts

Joined
Mon Mar 19, 2012 1:39 am
Location - Europe, Czech republic; Hradec Králové, Brno

Post by aipok » Tue Sep 10, 2013 5:01 am

Se zeptám. Je to řádek 22

Code: Select all

if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validateForm()) {
			$this->model_catalog_product->addProduct($this->request->post);
?

User avatar
New member

Posts

Joined
Wed Jun 26, 2013 8:23 am

Post by CZechBoY » Tue Sep 10, 2013 5:06 am

to je volání té funkce, funkce validateForm je někde na konci (1294 řádek)

Mass update product descriptions/Hromadná změna popisků zboží


User avatar
Active Member

Posts

Joined
Mon Mar 19, 2012 1:39 am
Location - Europe, Czech republic; Hradec Králové, Brno

Post by aipok » Tue Sep 10, 2013 5:25 am

CZechBoY wrote:to je volání té funkce, funkce validateForm je někde na konci (1294 řádek)
řádek 1295 - 1304 je tento code:

Code: Select all

	protected function validateForm() { 
    	if (!$this->user->hasPermission('modify', 'catalog/product')) {
      		$this->error['warning'] = $this->language->get('error_permission');
   	}

    	foreach ($this->request->post['product_description'] as $language_id => $value) {
      		if ((utf8_strlen($value['name']) < 1) || (utf8_strlen($value['name']) > 255)) {
       		$this->error['name'][$language_id] = $this->language->get('error_name');
      		}
    	}
Je to ono?

User avatar
New member

Posts

Joined
Wed Jun 26, 2013 8:23 am

Post by CZechBoY » Tue Sep 10, 2013 5:29 am

jojo, ten foreac zakomentovat přes /* a na konci */ a nebo smazat

Mass update product descriptions/Hromadná změna popisků zboží


User avatar
Active Member

Posts

Joined
Mon Mar 19, 2012 1:39 am
Location - Europe, Czech republic; Hradec Králové, Brno
Who is online

Users browsing this forum: No registered users and 2 guests