čtvrtek 26. května 2011

Hrátky s Apache a přepisem URL

Popis situace byl takovýto:

V Drupalu 6 bylo možno integrovat Gallery 2 přímo do stránek, zatímco v Drupalu 7 není příslušný modul k dispozici. Konečně, také vyšlo nové prostředí Gallery 3 a tak to bylo třeba dát celé nějak dohromady.

Aby to nebylo tak snadné, na stávájícím webu je hromada odkazů směřujících někam sem:

http://web.cz/node/700?q=gallery&g2_itemId=9944

a to bylo třeba směřovat na nový systém Gallery 3 ve formě

http://galerie.web.cz/g2/map?path=g2_itemId=9944

Co s tím? Do nové instalace Drupal 7 je třeba do souboru .htaccess přidat takovéto pravidlo:

<IfModule mod_rewrite.c>
      Options +FollowSymLinks
      RewriteEngine On
      RewriteCond %{QUERY_STRING} ^q=gallery
      RewriteRule ^(.*)$ http://galerie.web.cz/g2/map?path=$1   [QSA,L,R=301]
</IfModule>

RewriteCond prohledává URL adresy a pokud najde stránku, která má v dotazu zmíněný q=gallery, pak to RewriteRule celé přehodí na tu správnou adresu.

úterý 10. května 2011

OpenCart - Cena produktu na dotaz s lokalizací

Přidání odkazu Na dotaz místo ceny 0
Upravit soubor catalog/view/theme/default/template/product/product.tpl

změnit řádek 21 z

<?php echo $price; ?>

na

<?php if ($price > 0)  echo $price;  else {
?>
<a href="index.php?route=information/contact&muj_text=<? echo urldecode($nula_text.$model);?>"><? echo $nula;?></a>
<? } ?>

Přidat podporu překladu - v souboru catalog/language/czech/product/product.php přidat řádky

$_['nula']     = 'Na dotaz';
$_['nula_text']     = 'Dobrý den, chtěl bych se zeptat na cenu produktu ';

a zapnout přístup k překladům vložením na vhodná místa do souboru
catalog/controller/product/product.php

$this->data['nula'] = $this->language->get('nula');
$this->data['nula_text'] = $this->language->get('nula_text');

Další je upravit předvyplnění formuláře, v souboru catalog/view/theme/default/template/information/contact.tpl

upravit řádek 48 z

<textarea name="enquiry" style="width: 99%;" rows="10"><?php echo $enquiry;?></textarea>

na

<textarea name="enquiry" style="width: 99%;" rows="10"><?php echo $enquiry;echo urldecode($_GET["muj_text"]);?></textarea>


Dál je ještě potřeba v souboru catalog/view/theme/default/template/product/category.tpl změnit řádek 56 z původního

<span style="color: #900; font-weight: bold;"><?php echo $products[$j]['price']; ?></span>

na

<span style="color: #900; font-weight: bold;">
<?php if ($products[$j]['price'] > 0)  echo $products[$j]['price'];  else {
?>
<a href="index.php?route=information/contact&muj_text=<? echo urldecode($nula_text.$products[$j]['model']);?>"><? echo $nula;?></a>
<? } ?>
</span>

Spolu s odpovídajícím jazykovými překlady v souborech catalog/language/czech/product/category.php a catalog/controller/product/category.php.


Konečně to samé provést i s modulem vyhledávání (soubor catalog/view/theme/default/template/product/search.tpl) a odpovídajícími jazykovými soubory

neděle 1. května 2011

Jednoduchý přepis adres pomocí Apache

Někdy se může hodit přepsat jednu adresu na jinou a to nejlépe přímo pomocí Apache. K tomu se používá modul mod_rewrite jehož jednoduché použití může vypadat třeba takto.

<VirtualHost *:80>
  ServerName www.server.cz

  RewriteEngine on
  RewriteRule   ^.*$  http://server.cz/  [R]
</VirtualHost>

Tím se přesměruje (přepíše) URL adresa www.server.cz na kratší server.cz.

Jak nainstalovat plugin Skype Meetings

Skype pro firmy (Skype for Business) umožňuje používat ke komunikaci také plugin Webové schůzky, díky kterému se můžete připojit k naplánova...