duplicitni url

tonboss
17. úno 2015 02:29 - 17. úno 2015 06:58 #120226
Dobrý den,

chtěl bych se zeptat, jak mohu odstranit duplicitu úvodní stránky.
Jde mi o to, že pokud ručně za lomítko napíšu /domu naskočí mi domovská stránka.
Potřebuji, aby tato stránka buď vůbec neexistovala, nebo odkazovala na
www.domena.cz
- nevím která varianta je z hlediska SEO lepší? A jak toho docílit.

Dále bych potřeboval vědět, jestli jde nějak zněnit takto nepěknou url adresu - například:
domena.cz/index.php?option=com_chronoforms5&chronoform=Kontakt&event=submit
na nějakou přijatelnější verzi. nejlépe na url
domena.cz/kontakt
.

Děkuji

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
17. úno 2015 11:09 #120227
A proč Vám /domu vadí? Z hlediska SEO? a jak vyhledávač na tu adresu /domu přijde? Sám si ji nevymyslí.

Pro "vyrobení" hezkých adres slouží položky menu, udělejte si položku menu s alias kontakt odkazující na ten formulář.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od tonboss
17. úno 2015 13:20 #120236
jen mi to přišlo víc profi:) weby na které jsem se díval, také nemají /domu povolené:) ale je pravda, že vyhledávače to nemají jak zaregistrovat, tak aspon tak.

Teď ještě řeším duplicitu u oddělovačů.
Pokud na oddělovač v menu kliknu, zobrazí se mi totožná stránka se stejným url + mřížka (#). - Je toto chování normální? nedá se tomu nějak zabránit, aby to tu mřížku nezobrazovalo.

Díky

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
17. úno 2015 15:31 #120246
A je to opravdu položka typu oddělovač, nebo položka typu externí URL, u které máte místo URL # (tedy anchor).
Pokud je to opravdu oddělovač, je to věcí šablony, oddělovače by neměly být v šabloně vykreslovány jako odkaz.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od tonboss
18. úno 2015 01:02 #120260
Je to opravdu oddělovač, ale jak říkáte, je to v šabloně. V zobrazení prvku je vidět, že je tam odkaz <a href="#" .......
Dá se s tím něco dělat? Dá se nějak dostat do kódu a tam to změnit?

Díky

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
18. úno 2015 11:32 #120268
Dá, záleží na tom, co používáte za modul pro menu. Pokud klasický z Joomly, podívejte se do šablony bude tam adresář html/mod_menu a v něm to bude řešené. Pokud nějaký jiný, bude to řešené někde v modulu, ale měl by jít odělat template override.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od tonboss
18. úno 2015 13:35 #120270
Menu používám přímo ze šablony, ale v adresáři html nic takového není.
Našel jsem možná to o čem mluvíte v adresáři /lib/menu/GKMenu.php
Ale absolutně nevím, co bych zde měl změnit..

Nenašel by se někdo zkušenější, kdo by věděl, co mám jak změnit??
PHP kód je takto:
<?php

/**
*
* GK Menu class
*
* based on T3 Framework menu class
*
* @version 3.0.0
* @package Gavern Framework
* @copyright Copyright (C) 2010 - 2012 GavickPro. All rights reserved.
*
*/

// No direct access.
defined('_JEXEC') or die;

if (!defined('_GK_MENU_CLASS')) {
define('_GK_MENU_CLASS', 1);
require_once (dirname(__file__) . DS . "GKBase.class.php");

class GKMenu extends GKMenuBase {
function __construct($params) {
$params->set('gkmenu', 1);
parent::__construct($params);
$doc = JFactory::getDocument();
$doc->addStyleDeclaration('.gkcol { width: '.$this->getParam('menu_col_width', 200).'px; }');
}

function beginMenu($startlevel = 0, $endlevel = 10) {
echo "<nav id=\"gkExtraMenu\" class=\"gkMenu\">\n";
}

function endMenu($startlevel = 0, $endlevel = 10) {
echo "\n</nav>";
}

function beginMenuItems($pid = 0, $level = 0, $return = false) {
if ($level) {
if ($this->items[$pid]->gkparams->get('group')) {
$data = "<div class=\"gk-group-content\">";
} else {
$style = $this->getParam('gk-style', 1);
if (!method_exists($this, "beginMenuItems$style")) $style = 1; //default
$data = call_user_func_array(array($this, "beginMenuItems$style"), array($pid, $level, true));
}

if ($return) return $data; else echo $data;
}
}

function endMenuItems($pid = 0, $level = 0, $return = false) {
if ($level) {
if ($this->items[$pid]->gkparams->get('group')) {
$data = "</div>";
} else {
$style = $this->getParam('gk-style', 1);
if (!method_exists($this, "endMenuItems$style")) $style = 1; //default
$data = call_user_func_array(array($this, "endMenuItems$style"), array($pid, $level, true));
}

if ($return) return $data; else echo $data;
}
}

function beginSubMenuItems($pid = 0, $level = 0, $pos, $i, $return = false) {
$data = '';
if (isset($this->items[$pid]) && $level && !$this->items[$pid]->gkparams->get('group')) {
$data .= "<div class=\"gkcol ".($pos?" $pos":"")."\">";
}
if (@$this->children[$pid]) $data .= "<ul class=\"gkmenu level$level\">";

if ($return) return $data; else echo $data;
}

function endSubMenuItems($pid = 0, $level = 0, $return = false) {
$data = '';
if (@$this->children[$pid]) $data .= "</ul>";

if (isset($this->items[$pid]) && $level && !$this->items[$pid]->gkparams->get('group')) $data .= "</div>";

if ($return) return $data; else echo $data;
}

function beginSubMenuModules($item, $level = 0, $pos, $i, $return = false) {
$data = '';
if ($level && !$item->gkparams->get('group')) {
$data .= "<div class=\"gkcol ".($pos?" $pos":"")."\">";
}

if ($return) return $data; else echo $data;
}


function endSubMenuModules($item, $level = 0, $return = false) {
$data = '';
if ($level && !$item->gkparams->get('group')) $data = "</div>";

if ($return) return $data;
else echo $data;
}

function genClass($mitem, $level, $pos) {
$iParams = new JRegistry($mitem->params);
$cls = ($pos ? " $pos" : "");
if (@$this->children[$mitem->id] || (isset($mitem->content) && $mitem->content)) {
if ($mitem->gkparams->get('group'))
$cls .= " group";
else
if ($level < $this->getParam('endlevel') && isset($this->children[$mitem->id][0]))
$cls .= " haschild";
}
$active = in_array($mitem->id, $this->open);
if (!preg_match('/group/', $cls))
$cls .= ($active ? " active" : "");
if ($mitem->gkparams->get('class'))
$cls .= " " . $mitem->gkparams->get('class');
return $cls;
}

function beginMenuItem($mitem = null, $level = 0, $pos = '') {
$active = trim($this->genClass($mitem, $level, $pos));
if ($active) $active = " class=\"$active\"";
echo "<li $active>";
if ($mitem->gkparams->get('group')) echo "<div class=\"group\">";
}
function endMenuItem($mitem = null, $level = 0, $pos = '') {
if ($mitem->gkparams->get('group')) echo "</div>";
echo "</li>";
}

function beginMenuItems1($pid = 0, $level = 0, $return = false) {
$cols = $pid && $this->getParam('gkmenu') && isset($this->items[$pid]->cols) && $this->items[$pid]->cols ? $this->items[$pid]->cols : 1;
$width = 0;
for ($col = 0; $col < $cols; $col++) $width += $this->getParam('menu_col_width', 200);

$style = "#menu" . ($this->items[$pid]->id) . " > div,\n#menu" . ($this->items[$pid]->id) . " > div > .childcontent-inner { width: ".$width."px; }\n";

$type_class = $this->items[$pid]->gkparams->get('subcontent') == 'pos' ? 'module' : 'childcontent';
if($type_class == 'module') $style = '';

$doc = JFactory::getDocument();
$doc->addStyleDeclaration($style);

$data = "<div class=\"$type_class\">\n<div class=\"$type_class-inner\">\n";
if ($return) return $data; else echo $data;
}

function endMenuItems1($pid=0, $level=0, $return = false){
$data = "\n</div>\n</div>";
if($return) return $data; else echo $data;
}

function getParam($paramName, $default = null) {
return $this->_params->get($paramName, $default);
}
}
}

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.