0 Пользователей и 1 Гость просматривают эту тему.
  • 30 Ответов
  • 2555 Просмотров
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Вывод названия категории
« : 17.02.2018, 14:56:43 »
Здравствуйте.
Нужно создать модуль который будет отображать текст что-то вроде: "Вы сейчас находитесь в категории <название категории>"
Подскажите пожалуйста каким кодом собственно можно вытащить название категории из JoomShopping?
Версия JS 4.16.3
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #1 : 17.02.2018, 15:37:00 »
так ведь название категории выводится в шаблоне категории. вам надо именно в модуле?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #2 : 17.02.2018, 15:40:51 »
так ведь название категории выводится в шаблоне категории. вам надо именно в модуле?
Да, именно в модуле.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #3 : 17.02.2018, 15:45:52 »
ну тогда можете посмотреть модуль категорий, там определяется текущая категория. можно взять это за основу и сделать свой модуль.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #4 : 17.02.2018, 16:10:42 »
ну тогда можете посмотреть модуль категорий, там определяется текущая категория. можно взять это за основу и сделать свой модуль.
Поиск и загрузка категории
Код
			$category = JTable::getInstance('category', 'jshop');        

$category->load($category_id);
Вывод категории
Код
<?php print $category->name?>
Вот из чего пытался сделать, но не выходит...в php не силён, поэтому прошу помощи у более опытных форумчан.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #5 : 17.02.2018, 18:42:01 »
да, верно. только во-первых убедитесь что в $category_id содержится нужный id. как вы его получаете? а во-вторых сделайте
Код
print_r($category);
и посмотрите что находится в $category. возможно там нет name, а что-то другое.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #6 : 17.02.2018, 20:00:29 »
А где именно это всё можно посмотреть?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #7 : 17.02.2018, 20:08:43 »
как где? там где и делаете. где вы тот код пишите который вы показали?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #8 : 17.02.2018, 20:38:17 »
Это и есть весь код. Всё что смог найти по этой теме по форумам. В том как эти строки превратить в работающий код и есть вопрос.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #9 : 17.02.2018, 20:42:06 »
ну тогда непонятно что же итого надо :) просто этот код который вы привели - это и есть ответ на озвученный вами вопрос
Подскажите пожалуйста каким кодом собственно можно вытащить название категории из JoomShopping?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #10 : 17.02.2018, 21:03:05 »
При публикации модуля с этим кодом заголовок не выводиться (пустое место). Возможно не соблюдён синтаксис или чего-то не хватает.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #11 : 17.02.2018, 21:07:53 »
ну так говорю же, сделайте там
Код
print_r($category);
и посмотрите что содержит объект $category
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #12 : 17.02.2018, 21:25:27 »
Вот что вывело....не нашёл ничего похожего

jshopCategory Object ( [_tbl:protected] => #__jshopping_categories [_tbl_key:protected] => category_id [_tbl_keys:protected] => Array (
  • => category_id ) [_db:protected] => JDatabaseDriverMysqli Object ( [name] => mysqli [serverType] => MySQL [connection:protected] => mysqli Object ( [affected_rows] => 1 [client_info] => 5.6.36 [client_version] => 50636 [connect_errno] => 0 [connect_error] => [errno] => 0 [error] => [error_list] => Array ( ) [field_count] => 1 [host_info] => Localhost via UNIX socket [info] => [insert_id] => 0 [server_info] => 5.6.38 [server_version] => 50638 [stat] => Uptime: 104335 Threads: 5 Questions: 89925017 Slow queries: 1933549 Opens: 323511 Flush tables: 1 Open tables: 20000 Queries per second avg: 861.887 [sqlstate] => 00000 [protocol_version] => 10 [thread_id] => 943878 [warning_count] => 0 ) [nameQuote:protected] => ` [nullDate:protected] => 0000-00-00 00:00:00 [_database:JDatabaseDriver:private] => silkplas_shop [count:protected] => 40 [cursor:protected] => [debug:protected] => [limit:protected] => 0 [log:protected] => Array ( ) [timings:protected] => Array ( ) [callStacks:protected] => Array ( ) [offset:protected] => 0 [options:protected] => Array ( [driver] => mysqli [host] => localhost [user] => xxx_spshop [password] => xxxxxxxx [database] => xxxx_shop [prefix] => pi91k_ [select] => 1 [port] => 3306 [socket] => ) [sql:protected] => JDatabaseQueryMysqli Object ( [offset:protected] => 0 [limit:protected] => 0 [db:protected] => JDatabaseDriverMysqli Object *RECURSION* [sql:protected] => [type:protected] => select [element:protected] => [select:protected] => JDatabaseQueryElement Object ( [name:protected] => SELECT [elements:protected] => Array (
  • => template ) [glue:protected] => , ) [delete:protected] => [update:protected] => [insert:protected] => [from:protected] => JDatabaseQueryElement Object ( [name:protected] => FROM [elements:protected] => Array (
  • => #__template_styles ) [glue:protected] => , ) [join:protected] => [set:protected] => [where:protected] => JDatabaseQueryElement Object ( [name:protected] => WHERE [elements:protected] => Array (
  • => home = 1 AND client_id = 0 ) [glue:protected] => AND ) [group:protected] => [having:protected] => [columns:protected] => [values:protected] => [order:protected] => [autoIncrementField:protected] => [call:protected] => [exec:protected] => [union:protected] => [unionAll:protected] => [selectRowNumber:protected] => ) [tablePrefix:protected] => pi91k_ [utf:protected] => 1 [utf8mb4:protected] => 1 [errorNum:protected] => 0 [errorMsg:protected] => [transactionDepth:protected] => 0 [disconnectHandlers:protected] => Array ( ) ) [_trackAssets:protected] => [_rules:protected] => [_locked:protected] => [_autoincrement:protected] => 1 [_observers:protected] => JObserverUpdater Object ( [observers:protected] => Array ( ) [doCallObservers:protected] => 1 ) [_columnAlias:protected] => Array ( ) [_jsonEncode:protected] => Array ( ) [_errors:protected] => Array ( ) [category_id] => [category_image] => [category_parent_id] => [category_publish] => [category_template] => [ordering] => [category_add_date] => [products_page] => [products_row] => [access] => 1 [name_en-GB] => [alias_en-GB] => [short_description_en-GB] => [description_en-GB] => [meta_title_en-GB] => [meta_description_en-GB] => [meta_keyword_en-GB] => [name_ru-RU] => [alias_ru-RU] => [short_description_ru-RU] => [description_ru-RU] => [meta_title_ru-RU] => [meta_description_ru-RU] => [meta_keyword_ru-RU] => )
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #13 : 17.02.2018, 21:28:06 »
ну вот. ничего не содержит. потому что как я и сказал
во-первых убедитесь что в $category_id содержится нужный id
посмотрите как он определяется и сделайте так же.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #14 : 17.02.2018, 21:34:01 »
Я понимаю, что для Вас мои вопросы глупы, но как это сделать?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #15 : 17.02.2018, 21:37:25 »
вы где то взяли тот код, который показываете. где? вот там посмотрите чуть раньше, до
Код
$category->load($category_id);
должно быть определение этой самой переменной
Код
$category_id = ...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #16 : 17.02.2018, 21:47:19 »
Вот отсюда выдергивал код
Нашёл $category_id = 0, но понимаю что это не то....
Код
<?php

defined('_JEXEC') or die;


class VitalikjShopCategoriesHelper
{
public static $products = null;

function getLastProducts($count, $array_categories = null, $filters = array(), $params)
{
$jshopConfig = JSFactory::getConfig();
$db = JFactory::getDBO();
$product = JTable::getInstance('product', 'jshop');
$adv_query = "";
$adv_from = "";
$adv_result = $product->getBuildQueryListProductDefaultResult();
$product->getBuildQueryListProductSimpleList("last", $array_categories, $filters, $adv_query, $adv_from, $adv_result);
$order_query = "ORDER BY name";


$query = "SELECT $adv_result FROM `#__jshopping_products` AS prod
  INNER JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id
  LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id
  $adv_from
  WHERE prod.product_publish = '1' AND cat.category_publish='1' ".$adv_query."
  GROUP BY prod.product_id ORDER BY ".$params->get('order_products', 'prod.product_id')." ".$params->get('dir_order_products', 'id')." LIMIT ".$count;
$db->setQuery($query);
$products = $db->loadObjectList();
$products = listProductUpdateData($products);
return $products;
}

public static function getProducts($category_id = 0, $params)
{
if (!self::$products)
{
$product = JTable::getInstance('product', 'jshop');
$products_arr = VitalikjShopCategoriesHelper::getLastProducts(999, null, array(), $params);
$products = array();
foreach($products_arr as $key=>$value)
{
if (!is_array($products[$value->category_id]))
{
$products[$value->category_id] = array();
}
$value->product_link = SEFLink('index.php?option=com_jshopping&controller=product&task=view&category_id='.$value->category_id.'&product_id='.$value->product_id, 1);
$products[$value->category_id][] = $value;
}
self::$products = $products;
}
if ($category_id)
{
return self::$products[$category_id];
}
else
{
return self::$products;
}
}

public static function getSubcategories($order, $ordering, $category_id, $params)
{
// Получаем объект таблицы категорий
$category = JTable::getInstance('category', 'jshop');       
// Загружаем текущую категорию
$category->load($category_id);

$subcategories = $category->getChildCategories($order, $ordering);

if (is_array($subcategories) && count($subcategories))
{

foreach ($subcategories as $category)
{
// 
$category->products = self::getProducts($category->category_id, $params);
$category->subcategories = self::getSubcategories($order, $ordering, $category->category_id, $params);
}
}
//
return $subcategories;
}


public static function getCatsArray($order, $ordering, $params)
{
//
$category = JTable::getInstance('category', 'jshop');
//
$category->category_parent_id = 0;
//
$categories = $category->getSisterCategories($order, $ordering);
//
foreach($categories as $key=>$value)
{
$value->subcategories = self::getSubcategories($order, $ordering, $value->category_id, $params);
//
$value->products = self::getProducts($value->category_id,$params);
}
//
return $categories;
}
}

*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #17 : 17.02.2018, 22:41:17 »
ищите вызов VitalikjShopCategoriesHelper::getProducts, там передается $category_id, смотрите как она там определяется
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #18 : 19.02.2018, 14:51:49 »
На основе модуля от виталика, не получилось что либо вывести.
На форуме нашёл похожее обсуждение Вывод названия категории.
Там один из форумчан выложил код:
Код
<?php 
            $table_product = JTable::getInstance('product', 'jshop');
            $table_product->load($curr->product_id);
            $table_category = JTable::getInstance('category', 'jshop');
            $table_category->load($table_product->getCategory());
            print $table_category->getName();
            ?>
Но данное решение так же не дало результатов.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #19 : 19.02.2018, 15:08:05 »
нет разницы на основе чего выводить. смысл везде один и тот же. когда вы вызываете метод load
Код
$table_category->load($category_id);
то туда надо передать id категории. вот вам и надо найти как получить id текущей категории, в которой вы сейчас находитесь. т.е. найти в модуле место. где определяется
Код
$category_id = ...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #20 : 19.02.2018, 17:11:51 »
Пробовал так (взято из модуля)
Код
<?php
JTable::addIncludePath(JPATH_SITE.'/components/com_jshopping/tables');
$category_id = JRequest::getInt('category_id');
$category = JTable::getInstance('category', 'jshop');
$category->load($category_id);
print $category->name

?>
Так же не выводит...
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #21 : 19.02.2018, 17:23:50 »
сделайте print_r
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #22 : 19.02.2018, 17:39:43 »
Код
print_r($category_id);
Выводит id категории
Код
print_r($category);
выводит
[category_id] => 14 [category_image] => [category_parent_id] => 69 [category_publish] => 1 [category_template] => [ordering] => 1 [category_add_date] => 2018-02-13 16:23:57 [products_page] => 12 [products_row] => 4 [access] => 1 [name_en-GB] => [alias_en-GB] => [short_description_en-GB] => [description_en-GB] => [meta_title_en-GB] => [meta_description_en-GB] => [meta_keyword_en-GB] => [name_ru-RU] => Мастер [alias_ru-RU] => not-use-6 [short_description_ru-RU] => [description_ru-RU] => [meta_title_ru-RU] => Жидкие обои Мастер. Купить недорого, каталог, фото в интерьере. [meta_description_ru-RU] => [meta_keyword_ru-RU] => )

« Последнее редактирование: 19.02.2018, 17:43:04 от dvcool »
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #23 : 19.02.2018, 17:44:17 »
Код
[name_ru-RU] => Мастер
Это и есть что нужно вывести, как я понимаю
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #24 : 19.02.2018, 17:48:46 »
верно, это и надо вывести. предполагая какой следующий будет вопрос вот вам сразу ссылка
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #25 : 19.02.2018, 18:04:10 »
Спасибо за ссылку.
Получилось в итоге:
Код
JTable::addIncludePath(JPATH_SITE.'/components/com_jshopping/tables');
$category_id = JRequest::getInt('category_id');
$category = JTable::getInstance('category', 'jshop');
$category->load($category_id);
print $category->{"name_ru-RU"};
Но название категории всё равно не выводится
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #26 : 19.02.2018, 18:09:41 »
Всё заработало. Сам допустил ошибку. Благодарю за помощь и терпение)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #27 : 19.02.2018, 18:16:12 »
это же прекрасно :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dvcool

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод названия категории
« Ответ #28 : 20.02.2018, 13:33:26 »
Уважаемый,  dmitry_stas, а не подскажете как изменить получившейся код что бы вытащить название из списка товаров с определённой меткой(label)?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывод названия категории
« Ответ #29 : 20.02.2018, 13:41:02 »
никак. либо не понял вопроса.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин - Вывод значения поля из таблицы продуктов в корзине JoomShopping

Автор draff

Ответов: 3
Просмотров: 794
Последний ответ 26.02.2024, 07:00:01
от kit2m2
В списке товаров вывести названия категорий каждого товара

Автор shop-user

Ответов: 5
Просмотров: 1448
Последний ответ 25.01.2022, 06:05:12
от kit2m2
Плагин - Количество товаров в категории [Скачать]

Автор kit2m2

Ответов: 8
Просмотров: 2453
Последний ответ 06.07.2021, 18:31:46
от kit2m2
Плагин для покупки в категории товара JoomShopping 4, с применением ajax

Автор draff

Ответов: 14
Просмотров: 1012
Последний ответ 18.05.2020, 06:29:43
от draff
Получить ID категории в шаблоне checkout

Автор stas_rsv

Ответов: 28
Просмотров: 955
Последний ответ 30.03.2020, 11:04:11
от stas_rsv