Форум русской поддержки Joomla!® CMS
08.12.2016, 04:14:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

[Решено] Проблема со статическим текстом и пунктами меню - Дубли ссылок

 (Прочитано 186 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Tuzemec
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 220


Ня!


« : 29.04.2016, 00:24:28 »

Проблема такая: при создании пункта меню на текст "Доставка", "Правила", "Мой профиль", "Изменить данные профиля" в "Навигаторе сайта" появляется путь не "Главная" - "Доставка", а путь с дублирующей ссылкой вида "Главная" - "Доставка" - "Доставка".
Выключаю SEF, удаляю из ссылки "&Itemid=ххх" - путь показывает верный. Неужели придется пункты меню приводить к типу "Внешняя ссылка"? Как побороть сие "чудо"?
Замечено в JoomShopping 4.13.0 и в версии до этого 4.12.3. В более ранних не проверял.
« Последнее редактирование: 29.04.2016, 11:21:14 от Tuzemec » Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8808


http://n*****n.com


« Ответ #1 : 29.04.2016, 00:53:49 »

да в крошках формируется промежуточный пункт меню и сама доставка получается конечным пунктом.
надо смотреть роутер...

вообще-то, я бы на месте разработчиков сделал бы просто в настройках возможность задавать ссылки на материалы.
зачем формировать 2 раза контент, в статье и в доставках.

Joomla и есть управление контентом, зачем делать еще контент в магазине ?

П.С. инфо о доставке и оплате на сайте обычно вывожу материалами. продублировать легче чем танцевать на граблях Wink
Записан
Tuzemec
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 220


Ня!


« Ответ #2 : 29.04.2016, 01:16:37 »

П.С. инфо о доставке и оплате на сайте обычно вывожу материалами. продублировать легче чем танцевать на граблях Wink
Хм... как самому в голову такая мысль не пришла... Похоже стремление решить проблему именно в ЖШ мозг вырубила. Спасибо за идею.
Видимо по причине простого выхода из положения разработчики и не берутся что-то с данным багом делать.
Но что делать со ссылкой "Изменить мои данные" и "Мои заказы"?
Хотя и тут поступить можно так: "Мои заказы" сделать дочерним пунктом меню "Мой профиль", а "Изменить мои данные"
сделать типа "Внешняя ссылка" и тоже сделать дочерним пунктом.

Зараза! И "Профиль" имеет вид:  Главная - Профиль - Мой профиль
Как-то всё через костыли...
« Последнее редактирование: 29.04.2016, 01:23:27 от Tuzemec » Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8808


http://n*****n.com


« Ответ #3 : 29.04.2016, 01:20:15 »

ну... Azn
да есть такое дело малеха...
хотя честно ан крошки мало кто обращает внимания.
тем более что ошибки то там нет, просто визуализация не привычная. с 1 костылем Azn
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7774



« Ответ #4 : 29.04.2016, 01:35:53 »

\components\com_jshopping\helpers\metadata.php
удалите 4-й параметр
Цитировать
   public static function userMyaccount(){
      self::metaData("myaccount", 0, _JSHOP_MY_ACCOUNT, _JSHOP_MY_ACCOUNT);
   }
Записан
Tuzemec
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 220


Ня!


« Ответ #5 : 29.04.2016, 07:04:32 »

Какая интересная картина получилась! Огромное спасибо! Тут и остальные, описанные проблемы решить можно!
Для пунктов "Доставка", "Правила", "Возврат", "Защита данных" комментируем строку 97
Код:
.....
        $pathway = _JSHOP_PRIVACY_STATEMENT;
            break;
        }       
//appendPathWay($pathway); //Комментируем эту функцию

        $seo = JSFactory::getTable("seo", "jshop");
.....
Для "Профиля" (строка 205), "Мои данные" (строка 181), "Мои заказы" (строка 191) - удаляем, как написано постом выше, 4-ый параметр.
Возможно в отличных от версии ЖШ 4.13.0 строки иные, но думаю найти их будет не проблема
« Последнее редактирование: 29.04.2016, 11:19:58 от Tuzemec » Записан
victorantoniak
Moderator
*****

Репутация: +175/-2
Offline Offline

Пол: Мужской
Сообщений: 1506

JoomShopping Team


« Ответ #6 : 30.04.2016, 17:46:15 »

файл из версии 4.13.1
components\com_jshopping\helpers\metadata.php
Код:
<?php
/**
* @version      4.13.1 25.03.2016
* @author       MAXXmarketing GmbH
* @package      Jshopping
* @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license      GNU/GPL
*/
defined('_JEXEC') or die();

class JshopHelpersMetadata{

public static function metaData($alias, $loadParams = 1, $default_title = '', $path_way = '', $external_params = null){
if ($path_way!=''){
appendPathWay($path_way);
}
if ($loadParams && is_null($external_params)){
$params = JFactory::getApplication()->getParams();
}else{
$params = null;
}
if ($external_params){
$params = $external_params;
}
$seo = JSFactory::getTable("seo", "jshop");
        $seodata = $seo->loadData($alias);
if ($seodata->title==""){
            $seodata->title = $default_title;
        }
        setMetaData($seodata->title, $seodata->keyword, $seodata->description, $params);
return $seodata;
}

public static function metaDataDependenMainPageShop($alias, $loadParams = 1, $default_title = '', $path_way = ''){
if (getThisURLMainPageShop()){
$params = 0;
$title = $default_title;
$path = $path_way ;
        }else{
$params = $loadParams;
$title = '';
$path = '';
        }
return self::metaData($alias, $params, $title, $path);
}

public static function mainCategory($category, $params){
setMetaData($category->meta_title, $category->meta_keyword, $category->meta_description, $params);
}

public static function category($category){
if (getShopMainPageItemid()==JFactory::getApplication()->input->getInt('Itemid')){
            appendExtendPathWay($category->getTreeChild(), 'category');
        }
        if ($category->meta_title=="") $category->meta_title = $category->name;
        setMetaData($category->meta_title, $category->meta_keyword, $category->meta_description);
}

public static function cart(){
self::metaDataDependenMainPageShop('cart', 1, _JSHOP_CART, _JSHOP_CART);
}

public static function checkoutAddress(){
self::metaData("checkout-address", 0, _JSHOP_CHECKOUT_ADDRESS, _JSHOP_CHECKOUT_ADDRESS);
}

public static function checkoutPayment(){
self::metaData("checkout-payment", 0, _JSHOP_CHECKOUT_PAYMENT, _JSHOP_CHECKOUT_PAYMENT);
}

public static function checkoutShipping(){
self::metaData("checkout-shipping", 0, _JSHOP_CHECKOUT_SHIPPING, _JSHOP_CHECKOUT_SHIPPING);
}

public static function checkoutPreview(){
self::metaData("checkout-preview", 0, _JSHOP_CHECKOUT_PREVIEW, _JSHOP_CHECKOUT_PREVIEW);
}

public static function checkoutFinish(){
$document = JFactory::getDocument();
        $document->setTitle(_JSHOP_CHECKOUT_FINISH);
        appendPathWay(_JSHOP_CHECKOUT_FINISH);
}

public static function content($page){
switch($page){
            case 'agb':
                $title = _JSHOP_AGB;
            break;
            case 'return_policy':
                $title = _JSHOP_RETURN_POLICY;
            break;
            case 'shipping':
                $title = _JSHOP_SHIPPING;
            break;
            case 'privacy_statement':
                $title = _JSHOP_PRIVACY_STATEMENT;
            break;
        }
if (getThisURLMainPageShop()){
$pathway = $title;
$loadParams = 0;
}else{
$pathway = '';
$loadParams = 1;
}
return self::metaData("content-".$page, $loadParams, $title, $pathway);
}

public static function listManufacturers($params){
self::metaData("manufacturers", 0, '', '', $params);
}

public static function manufacturer($manufacturer){
if (getShopManufacturerPageItemid()==JFactory::getApplication()->input->getInt('Itemid')){
            appendPathWay($manufacturer->name);
        }
        if ($manufacturer->meta_title=="") $manufacturer->meta_title = $manufacturer->name;
        setMetaData($manufacturer->meta_title, $manufacturer->meta_keyword, $manufacturer->meta_description);
}

public static function search(){
self::metaDataDependenMainPageShop('search', 1, _JSHOP_SEARCH, _JSHOP_SEARCH);
}

public static function searchResult(){
self::metaDataDependenMainPageShop('search-result', 1, _JSHOP_SEARCH, _JSHOP_SEARCH);
}

public static function userLogin(){
self::metaDataDependenMainPageShop('login', 1, _JSHOP_LOGIN, _JSHOP_LOGIN);
}

public static function userRegister(){
self::metaDataDependenMainPageShop('register', 1, _JSHOP_REGISTRATION, _JSHOP_REGISTRATION);
}

public static function userEditaccount(){
if (shopItemMenu::getInstance()->getEditaccount()!= JFactory::getApplication()->input->getInt('Itemid')){
$pathway = _JSHOP_EDIT_DATA;
}else{
$pathway = '';
}
self::metaData("editaccount", 0, _JSHOP_EDIT_DATA, $pathway);
}

public static function userOrders(){
if (shopItemMenu::getInstance()->getOrders()!= JFactory::getApplication()->input->getInt('Itemid')){
$path_way = _JSHOP_MY_ORDERS;
}else{
$path_way = '';
}
self::metaData("myorders", 0, _JSHOP_MY_ORDERS, $path_way);
}

public static function userOrder($order){
$jshopConfig = JSFactory::getConfig();       
self::metaData("myorder-detail", 0, _JSHOP_MY_ORDERS);
$shim = shopItemMenu::getInstance();
if ($shim->getOrders()!=JFactory::getApplication()->input->getInt('Itemid')){
appendPathWay(_JSHOP_MY_ORDERS, SEFLink('index.php?option=com_jshopping&controller=user&task=orders', 0, 0, $jshopConfig->use_ssl));
}
        appendPathWay(_JSHOP_ORDER_NUMBER.": ".$order->order_number);
}

public static function userMyaccount(){
if (shopItemMenu::getInstance()->getUser()!= JFactory::getApplication()->input->getInt('Itemid')){
$pathway = _JSHOP_MY_ACCOUNT;
}else{
$pathway = '';
}
self::metaData("myaccount", 0, _JSHOP_MY_ACCOUNT, $pathway);
}

public static function userGroupsinfo(){
setMetaData(_JSHOP_USER_GROUPS_INFO, "", "");
}

public static function listVendors(){
self::metaData("vendors");
}

public static function vendorInfo($vendor){
$title =  $vendor->shop_name;       
        appendPathWay($title);
       
        $seo = JSFactory::getTable("seo", "jshop");
        $seodata = $seo->loadData("vendor-info-".$vendor->id);
        if (!isset($seodata)) {
            $seodata = new stdClass();
            $seodata->title = '';
            $seodata->keyword = '';
            $seodata->description = '';
        }
        if ($seodata->title==""){
            $seodata->title = $title;
        }
        setMetaData($seodata->title, $seodata->keyword, $seodata->description);
}

public static function vendorProducts($vendor){
appendPathWay($vendor->shop_name);
        $seo = JSFactory::getTable("seo", "jshop");
        $seodata = $seo->loadData("vendor-product-".$vendor->id);
        if (!isset($seodata->title) || $seodata->title==""){
            $seodata = new stdClass();
            $seodata->title = $vendor->shop_name;
            $seodata->keyword = $vendor->shop_name;
            $seodata->description = $vendor->shop_name;
        }
        setMetaData($seodata->title, $seodata->keyword, $seodata->description);
}

public static function wishlist(){
self::metaDataDependenMainPageShop('wishlist', 1, _JSHOP_WISHLIST, _JSHOP_WISHLIST);
}

public static function product($category, $product){
$app = JFactory::getApplication();
$Itemid = $app->input->getInt('Itemid');
if (getShopMainPageItemid()==$Itemid){
            appendExtendPathway($category->getTreeChild(), 'product');
        }
$menu = $app->getMenu();
$menuItem = $menu->getItem($Itemid);       
if ($menuItem->query['view']!='product'){
appendPathWay($product->name);
}
        if ($product->meta_title=="") $product->meta_title = $product->name;
        setMetaData($product->meta_title, $product->meta_keyword, $product->meta_description);
}

public static function allProducts(){
self::metaData("all-products");
}

public static function productsTophits(){
self::metaData("tophitsproducts");
}

public static function productsToprating(){
self::metaData("topratingproducts");
}

public static function productsLabel(){
self::metaData("labelproducts");
}

public static function productsBestseller(){
self::metaData("bestsellerproducts");
}

public static function productsRandom(){
self::metaData("randomproducts");
}

public static function productsLast(){
self::metaData("lastproducts");
}

}
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet