Post by eholy » Sun Feb 14, 2010 9:31 pm

danc wrote:... nahrát upravenou (trochu jiná struktura souborů) češtinu pro v. 1.4 ...
Mohu se zeptat, kde je ke stažení čeština pro verzi 1.4?

Díky

Newbie

Posts

Joined
Sun Feb 14, 2010 9:19 pm

Post by Pot'a » Sun Feb 14, 2010 9:36 pm

eholy wrote:
danc wrote:... nahrát upravenou (trochu jiná struktura souborů) češtinu pro v. 1.4 ...
Mohu se zeptat, kde je ke stažení čeština pro verzi 1.4?

Díky
Tu

Čeština (v1.3.x, v1.4.x) | IČ a DIČ zákazníka (v1.3.x, v1.4.x) | XML feed zbozi.cz


Active Member

Posts

Joined
Tue Sep 01, 2009 1:48 pm
Location - Prague [CZE]

Post by Keert » Sun Feb 21, 2010 9:23 pm

Ahoj. Mám otázku. ;) Pokud neprovedu zde uvedené změny a budu do databáze ukládat s entitami...vyhledávačům to nevadí to chápu. Ale je to tedy jeden problém. Když zadávám např. název produktu, který je omezen počtem znaků, tak to většinou s entitami nestačí. Když jsou v názvu dvě "í" tak už to hlásí chybu překročení povoleného počtu znaků. Chtěl bych se tedy zeptat...pokud neupravím soubor request.php...kde je možné zvýšit max. počet znaků v názvu produktu?

Dotaz č. 2 :) Pokud provedu vypnutí entit....a úpravu souboru request.php, kdy budu do databáze ukládat v našich tvarech í,á,é atd.....způsobí to jeden problém. Když potom v textu (java editor) napíšu např. nějaký text a mezi slovy udělám např. 2 mezery nebo víc (prostě více jak jednu) tak se tam zobrazí tento znak namístě mezery navíc: �
Otázka teda zní takto. Existuje něco jiného v HTML pro vytvoření mezery než je entita " " ? Protože když entity v java editoru vypnu tak to tu mezeru prostě nezobrazí. A když nechám entity zapnuté a upravím request.php tak se to ukládá špatně do databáze. :-\

Díky za pomoc

PS: Jedná se o verzi opencart 1.4

New member

Posts

Joined
Sun Feb 14, 2010 3:57 pm

Post by Pot'a » Sun Feb 21, 2010 9:40 pm

Určitě soubor request.php uprav:

Code: Select all

$data = htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
Poté si udělej dump databáze do sql souboru, ten pak otevři v nějakém šikovné editoru, který umí funkci "najít a přepsat" - opravíš entity. Pak upravený sql soubor nahraješ do databáze.

Pokud používáš CKeditor, tak jej také uprav.

Mezera v html = entita  

---

Pokud budeš chtít nadále entity používat, tak budeš muset upravit /admin/controller/catalog/*.php pro úpravu počtu znaků ve formulářových polích.

Čeština (v1.3.x, v1.4.x) | IČ a DIČ zákazníka (v1.3.x, v1.4.x) | XML feed zbozi.cz


Active Member

Posts

Joined
Tue Sep 01, 2009 1:48 pm
Location - Prague [CZE]

Post by Keert » Sun Feb 21, 2010 9:46 pm

Dobře. Takže request upravený mám podle návodu. To jsem udělal hned po instalaci. Takže je to v databázi v pořádku. V CKeditoru jsem vypnul entity. Co je také v pořádku. Ale zde je ten háček. Když jsem ty entity v editoru vypnul...nezobrazí se ani   (což by tedy měla být mezera) a místo toho je tu jen toto: � ???

Ty počty znaků ve formulářových polích tedy upravím. Díky za tu cestu. Nemohl jsem to nikde najít :)

PS: Jo vlastně ty počty už ani upravovat nemusím ;) Pokud příjdu na to jak zobrazit po vypnutí entit tu mezeru :)

New member

Posts

Joined
Sun Feb 14, 2010 3:57 pm

Post by Pot'a » Sun Feb 21, 2010 9:59 pm

Keert wrote:Dobře. Takže request upravený mám podle návodu. To jsem udělal hned po instalaci. Takže je to v databázi v pořádku. V CKeditoru jsem vypnul entity. Co je také v pořádku. Ale zde je ten háček. Když jsem ty entity v editoru vypnul...nezobrazí se ani   (což by tedy měla být mezera) a místo toho je tu jen toto: � ???

Ty počty znaků ve formulářových polích tedy upravím. Díky za tu cestu. Nemohl jsem to nikde najít :)

PS: Jo vlastně ty počty už ani upravovat nemusím ;) Pokud příjdu na to jak zobrazit po vypnutí entit tu mezeru :)
Když píšeš v CKeditoru, dáš vlevo nahoře Source, tak entitu vidíš a poté po uložení v obchodě vidíš "?"?

Čeština (v1.3.x, v1.4.x) | IČ a DIČ zákazníka (v1.3.x, v1.4.x) | XML feed zbozi.cz


Active Member

Posts

Joined
Tue Sep 01, 2009 1:48 pm
Location - Prague [CZE]

Post by Keert » Sun Feb 21, 2010 10:06 pm

Ano. Když píšu udělám mezeru v editoru a přepnu na zobrazení html tak vidím entitu  . Po uložení a zobrazení textu už tam mám ten otazník. Ale narazil jsem na jednu zajímavou věc. Tohle dělá pouze v informacích! U popisků produktů je to v pořádku :/ Ty informace používají jiný editor?

New member

Posts

Joined
Sun Feb 14, 2010 3:57 pm

Post by Pot'a » Sun Feb 21, 2010 10:15 pm

Keert wrote:Ano. Když píšu udělám mezeru v editoru a přepnu na zobrazení html tak vidím entitu  . Po uložení a zobrazení textu už tam mám ten otazník. Ale narazil jsem na jednu zajímavou věc. Tohle dělá pouze v informacích! U popisků produktů je to v pořádku :/ Ty informace používají jiný editor?
Já tenhle problém nemám. Mrkni do databáze, tabulka information_description.

Čeština (v1.3.x, v1.4.x) | IČ a DIČ zákazníka (v1.3.x, v1.4.x) | XML feed zbozi.cz


Active Member

Posts

Joined
Tue Sep 01, 2009 1:48 pm
Location - Prague [CZE]

Post by Keert » Sun Feb 21, 2010 10:19 pm

Hotovo. Už je to správně. :) Ale čím to teda je?

Napadlo mě, že by to mohlo být i špatně nastaveným kódováním, ale to taky asi chyba nebude protože ještě dřív než jsem vypnul entity v CK editoru přidáním tohoto řádku: config.entities = false; tak to bylo v pořádku. Doufám. :)
Last edited by Keert on Sun Feb 21, 2010 10:33 pm, edited 2 times in total.

New member

Posts

Joined
Sun Feb 14, 2010 3:57 pm

Post by Pot'a » Sun Feb 21, 2010 10:28 pm

Keert wrote:V databázi je entita uvedená správně v tomto tvaru:   Takže zde nejspíš problém nebude :/ Poťo poslal jsem ti do PM odkaz na ten článek, který se špatně zobrazuje.
Uděláme malý test. V databázi tu entitu nahraď:

Code: Select all

 

Čeština (v1.3.x, v1.4.x) | IČ a DIČ zákazníka (v1.3.x, v1.4.x) | XML feed zbozi.cz


Active Member

Posts

Joined
Tue Sep 01, 2009 1:48 pm
Location - Prague [CZE]

Post by Keert » Sun Feb 21, 2010 10:33 pm

Hotovo. Už je to správně. :) Ale čím to teda je?

Napadlo mě, že by to mohlo být i špatně nastaveným kódováním, ale to taky asi chyba nebude protože ještě dřív než jsem vypnul entity v CK editoru přidáním tohoto řádku: config.entities = false; tak to bylo v pořádku. Doufám. :)

New member

Posts

Joined
Sun Feb 14, 2010 3:57 pm

Post by Pot'a » Sun Feb 21, 2010 10:35 pm

Keert wrote:Hotovo. Už je to správně. :) Ale čím to teda je?

Napadlo mě, že by to mohlo být i špatně nastaveným kódováním, ale to taky asi chyba nebude protože ještě dřív než jsem vypnul entity v CK editoru přidáním tohoto řádku: config.entities = false; tak to bylo v pořádku. Doufám. :)
Nevím co to způsobuje, ještě jsem se s tím nesetkal. Mrknu na to až budu mít více času.

Čeština (v1.3.x, v1.4.x) | IČ a DIČ zákazníka (v1.3.x, v1.4.x) | XML feed zbozi.cz


Active Member

Posts

Joined
Tue Sep 01, 2009 1:48 pm
Location - Prague [CZE]

Post by Keert » Sun Feb 21, 2010 10:43 pm

Dobře. Moc ti děkuju za ochotu. :) Kdybys na to přišel tak by to bylo skvělé.

Ještě jsem teď zkoušel jednu věc. Zase jsem zapnul entity v CK editoru. Se zapnutými jsem to uložil a všechny í,á,é, atd. nahradil ten otazník. Entity jsem tedy zase vypnul a poté zmizely po novém uložení ty otazníky a dokonce i otazníky u již existujících mezer a zobrazilo se to správně. Ale nové mezery po vypnutí entit už jsou zase špatně :/ Zajímavé.

EDIT: Ještě jsem ten článek zkusil otevřít k editaci v adminu a tam je to také správně. Pouze v tom konečném zobrazení na webu se to takto rozhodí. :/ Uložení v databázi i editace v adminu to zobrazuje správně.

New member

Posts

Joined
Sun Feb 14, 2010 3:57 pm

Post by Pot'a » Sun Feb 21, 2010 11:15 pm

Tady jde o to, aby v databázi bylo:

Code: Select all

 
K tomu se dá použít PHP fce str_replace(). Nicméně mě spíš zajímá proč takový problém vůbec máš.

Čeština (v1.3.x, v1.4.x) | IČ a DIČ zákazníka (v1.3.x, v1.4.x) | XML feed zbozi.cz


Active Member

Posts

Joined
Tue Sep 01, 2009 1:48 pm
Location - Prague [CZE]

Post by Keert » Sun Feb 21, 2010 11:30 pm

Možná takové vodítko. V čisté instalaci to bylo v pořádku. Provedl jsem pouze úpravu request.php a také to vypnutí entit v editoru. To bylo vše co jsem prováděl a tyhle dva kroky způsobují tohle. :-\ Opravdu netuším kde by mohl být problém. Zkusím ještě jednou projít ty úpravy jestli jsem někde neudělal chybu. Ale zase když to dělá jen u těch informací....je to zvláštní :)

New member

Posts

Joined
Sun Feb 14, 2010 3:57 pm

Post by Keert » Mon Feb 22, 2010 2:15 am

Takže novej poznatek :/ Nedělá to pouze v informacích, ale také např. v uvítací zprávě e-shopu.

EDIT: Takže CK editorem to nejpíš nebude. Vrátil jsem všechny prováděné změny. Editor na to nemá vliv. Ale změna request.php! Když tento soubor nechám v originále, tak se to uloží i zobrazí správně. Pokud ho upravím, nezobrazí se potom ty mezery ale otazník. Doufám tedy že ho upravuju správně. Mám to takto:

Code: Select all

<?php
final class Request {
	public $get = array();
	public $post = array();
	public $cookie = array();
	public $files = array();
	public $server = array();
	
  	public function __construct() {
		$_GET = $this->clean($_GET);
		$_POST = $this->clean($_POST);
		$_COOKIE = $this->clean($_COOKIE);
		$_FILES = $this->clean($_FILES);
		$_SERVER = $this->clean($_SERVER);
		
		$this->get = $_GET;
		$this->post = $_POST;
		$this->cookie = $_COOKIE;
		$this->files = $_FILES;
		$this->server = $_SERVER;
	}
	
  	public function clean($data) {
    	if (is_array($data)) {
	  		foreach ($data as $key => $value) {
				unset($data[$key]);
				
	    		$data[$this->clean($key)] = $this->clean($value);
	  		}
		} else { 
	  		return $data;
		}

		return $data;
	}
}
?>
To return $data; je tam 2x. Je to tak správně?

New member

Posts

Joined
Sun Feb 14, 2010 3:57 pm

Post by Pot'a » Mon Feb 22, 2010 9:38 pm

Není to správně!

Takto ano (OC v1.4.0):

Code: Select all

<?php
final class Request {
	public $get = array();
	public $post = array();
	public $cookie = array();
	public $files = array();
	public $server = array();
	
  	public function __construct() {
		$_GET = $this->clean($_GET);
		$_POST = $this->clean($_POST);
		$_COOKIE = $this->clean($_COOKIE);
		$_FILES = $this->clean($_FILES);
		$_SERVER = $this->clean($_SERVER);
		
		$this->get = $_GET;
		$this->post = $_POST;
		$this->cookie = $_COOKIE;
		$this->files = $_FILES;
		$this->server = $_SERVER;
	}
	
  	public function clean($data) {
    	if (is_array($data)) {
	  		foreach ($data as $key => $value) {
				unset($data[$key]);
				
	    		$data[$this->clean($key)] = $this->clean($value);
	  		}
		} else { 
	  		/*$data = htmlentities($data, ENT_QUOTES, 'UTF-8');*/
	  		$data = htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
		}

		return $data;
	}
}
?>

Čeština (v1.3.x, v1.4.x) | IČ a DIČ zákazníka (v1.3.x, v1.4.x) | XML feed zbozi.cz


Active Member

Posts

Joined
Tue Sep 01, 2009 1:48 pm
Location - Prague [CZE]

Post by Keert » Mon Feb 22, 2010 11:16 pm

;D Huráá. Už to funguje. Strašně moc ti děkuju. Já jsem tady na fóru našel totiž návod na úpravu request.php, ale bylo to asi na starší verzi OC. :) Teď už je to OK. Ještě jednou díky.

PS: Mohl bych ještě poprosit...pokud se tu někde nachází návod na úpravu request.php na OC 4...kde to je? ;) Jen abych příště neudělal stejnou chybu.

Moc děkuju.

KEERT

New member

Posts

Joined
Sun Feb 14, 2010 3:57 pm

Post by Pot'a » Mon Feb 22, 2010 11:19 pm

Keert wrote:;D Huráá. Už to funguje. Strašně moc ti děkuju. Já jsem tady na fóru našel totiž návod na úpravu request.php, ale bylo to asi na starší verzi OC. :) Teď už je to OK. Ještě jednou díky.
Není zač :)

Čeština (v1.3.x, v1.4.x) | IČ a DIČ zákazníka (v1.3.x, v1.4.x) | XML feed zbozi.cz


Active Member

Posts

Joined
Tue Sep 01, 2009 1:48 pm
Location - Prague [CZE]

Post by okinawa » Wed Feb 02, 2011 11:01 pm

Pouzivam OpenCart 1.4.9 a mam problemy s ckeditorem. Spatne zapisuje diakritiku, sice se zobrazi spravne, ale ve zdrojovim kodu jsou ruzne znaky misto toho...
Podle navodu jsem ten editor chtel vypnout, ale bohuzel neuspesne.
Asi v teto novejsi verzi se to dela jinak.

Nevite jak na to?

Newbie

Posts

Joined
Wed Feb 02, 2011 10:56 pm
Who is online

Users browsing this forum: No registered users and 3 guests