Table of Contents

MODx obecně

Jak na instalaci

  1. stažení z webu, rozbalení atd. …
  2. instalace dle průvodce
  3. v \manager\includes\config.inc.php je důležité zkontrolovat nastavení připojení k DB “$database_connection_charset = 'utf8';”
  4. nakopírovat češtinu do “\manager\includes\lang\czech.inc.php”
  5. nakopírovat češtinu pro tinymce do “\assets\plugins\tinymceVERZE\lang\czech.inc.php”
  6. přejmenovat soubor “\ht.access” na “.htaccess”
  7. v .htaccess nasvavit “RewriteBase” a následně můžeme zavést direktivu “RewriteRule ^download/ - [L]”

Přesun webu na jiný server

Problémy při ukládání dokumentů obsahujících češtinu v UTF-8?

  1. objevil jsem problém při ukládání češtiny v ModX pokud není výchozí nastavení MySQL (default-character-set=latin1) nastaveno na utf8 (default-character-set=utf8)
  2. stává se to protože ModX (ještě ve verzi 0.9.6.2) nastavuje znakovou sadu připojení k DB pomocí “SET CHARACTER SET”, to ale neovlivní znakovou sadu “porovnávání”
  3. problém byl diskutován zde a řešením je přenastavit několik souborů, aby se po výběru DB zaslal místo SET CHARACTER SET příkaz SET NAMES, díky tomu se pak čeština ukládá správně
install/instprocessor.php 
install/sqlParser.class.php
manager/actions/bkmanager.static.php
manager/includes/extenders/dbapi.mysql.class.inc.php
manager/includes/veriword.php 
manager/index.php
manager/processors/login.processor.php
manager/media/ImageEditor/config.inc.php
 
manager/media/browser/mcpuk/connectors/php/config.php
assets/snippets/AjaxSearch/includes/AjaxSearch.inc.php

Problém při ukládání českých znaků v modulech

  1. zde je problém v podstatě stejný jako výše, jen s tím rozdílem, že tady se neobjevuje ani příkaz SET CHARACTER SET, takže je nutné aktualizovat soubor \manager\processors\save_module.processor.php přidáním příkazu @mysql_query(“SET NAMES {$database_connection_charset}”); viz níže:
if($name=="") $name = "Untitled module";
 
@mysql_query("SET NAMES {$database_connection_charset}");
 
switch ($_POST['mode']) {
    case '107':
		// invoke OnBeforeModFormSave event