Новости Joomla

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

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Как можно реализовать вывод определённой, нужной характеристики отдельно от всех характеристик определённого товара?
Пример:
Есть характеристики:
Вес (г) (id характеристики - 10)
Шариковые подшипники (id характеристики - 11)
Роликовые подшипники (id характеристики - 12)
Емкость шпули (мм/м) (id характеристики - 13)
Передаточное число (id характеристики - 14)
Длина лески за оборот ручки (см) (id характеристики - 15)
Шпуль в комплекте (id характеристики - 16)

Вот нужно, что бы (например в категории (список товаров)) можно было сделать вывод характеристик с id 10-15, потом идёт какой-то текст, картинка, и после них имя характеристики с id 16 и значение характеристики с id 16

Надеюсь не сильно путанно расписал?
Здесь всё есть... просто нужно поискать немного... ;)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
в файле \components\com_jshopping\templates\default\product\product_default.php характеристики выводятся в цикле

Код
        <?php $extra_field_group = "";
        foreach($this->product->extra_field as $extra_field){
            if ($extra_field_group!=$extra_field['groupname']){
                $extra_field_group = $extra_field['groupname'];
            ?>
            <div class='extra_fields_group'><?php print $extra_field_group?></div>
            <?php }?>
            <div><span class="extra_fields_name"><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span><?php } ?>: <span class="extra_fields_value"><?php print $extra_field['value'];?></span></div>
        <?php }?>

проверяйте нужные вам, отсеивайте. можете разместить этот код в двух местах, в первый раз вывести одни, потом другие
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Так где они выводятся я знаю..., мне бы кусок кода, что б вывести именно характеристику с id 16 в нужном месте строки товара (в листинге товаров).... На данный момент у меня для каждой характеристики задано:
display: table-cell; mih-width: 65px; max-width: 150 px; vertica-align: middle; text-align: center; и т.д..., и они выводятся в ряд, почти таблица получается, но не очень красиво..., вот если б для каждой характеристики можно было свой стиль задать...
« Последнее редактирование: 13.06.2013, 04:16:14 от Silent_Breeze »
Здесь всё есть... просто нужно поискать немного... ;)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
в общем.  в списке товаров отсутсвует id для характеристик. чтобы он появился - надо поправить файл \components\com_jshopping\lib\functions.php функцию getProductExtraFieldForProduct($product)
в частности, в строке
Код
$rows[] = array("name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$extra_field_value);
добавить "id"=>$field_id

или  так можно
Код
$rows[$field_id] = array("name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$extra_field_value);

, но тогда при переборе надо будет foreach($product->extra_field as $id=>$extra_field) и выводить $id
« Последнее редактирование: 13.06.2013, 20:17:28 от nevigen »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Ну наконец-то... Спасибо огромное...
Вот что вставил в components/com_jshopping/lib/functions.php строка 760
Код
$rows[] = array("id"=>$fields[$field_id]->id, "name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$extra_field_value);
            }
        }else{
            if ($product->$field_name!=""){
                $rows[] = array("id"=>$fields[$field_id]->id, "name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$product->$field_name);

В components/com_jshopping/templates/default/list_products/product.php вставил со строки 12:
Код
<?php if (is_array($product->extra_field)){?>
            <div style="display: inline-block; vertical-align: top;">
            <?php foreach($product->extra_field as $extra_field){?>
<div style="display: inline-block;" class="charact<?php print $extra_field['id']; ?>"><?php print $extra_field['value']; ?></div>
            <?php }?>
            </div>
        <?php }?>

Ещё раз спасибо за помощь.
Здесь всё есть... просто нужно поискать немного... ;)
*

Jsc

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Здравствуйте. Не подскажете как именно в карточке товара вывести характеристики не все сразу, а частями в разных местах?
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
В карточке товара, если воспользоваться вышеприведённым примером, можно организовать вывод характеристик описывая каждую(или только необходимую) характеристику в файле стилей шаблона.
Например:
Открываем файл по пути: корень сайта/components/com_jshopping/templates/default/product/product_default.php
Строка примерно 194:
Код
<div class="extra_fields">
        <?php $extra_field_group = "";
        foreach($this->product->extra_field as $extra_field){
            if ($extra_field_group!=$extra_field['groupname']){
                $extra_field_group = $extra_field['groupname'];
            ?>
            <div class='extra_fields_group'><?php print $extra_field_group?></div>
            <?php }?>
            <div><span class="extra_fields_name"><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span><?php } ?>: <span class="extra_fields_value"><?php print $extra_field['value'];?></span></div>
        <?php }?>
        </div>
меняем на:
Код
<div class="extra_fields">
        <?php $extra_field_group = "";
        foreach($this->product->extra_field as $extra_field){
            if ($extra_field_group!=$extra_field['groupname']){
                $extra_field_group = $extra_field['groupname'];
            ?>
            <div class='extra_fields_group'><?php print $extra_field_group?></div>
            <?php }?>
            <div class="character<?php print $extra_field['id'];?>"><span class="extra_fields_name"><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span><?php } ?>: <span class="extra_fields_value"><?php print $extra_field['value'];?></span></div>
        <?php }?>
        </div>
Соответственно после этих манипуляций мы получим для каждой характеристики свой div с классом character(id характеристики).
Т.е. если у нас есть характеристика с id=16 (например кол-во запасных болтов),  то мы получим в коде страницы div class="character16". Соответственно характеристика "кол-во запасных болтов" будет выводиться у нас в диве с классом "character16".
Пишем оформление для этой характеристики в CSS файле шаблона. Например:
Код
div.character16 {
dispaly: block или как нужно;
position: relative или absolute, или вообще не пишем, в зависимости от наших нужд;
width: сколько нужно;
height: сколько нужно;
left: ставим где нужно;
top: ставим где нужно;
и т.д.
и т.п.
}

Надеюсь не сильно путанно объяснил?
« Последнее редактирование: 24.06.2013, 03:19:15 от Silent_Breeze »
Здесь всё есть... просто нужно поискать немного... ;)
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
в общем.  в списке товаров отсутсвует id для характеристик. чтобы он появился - надо поправить файл \components\com_jshopping\lib\functions.php функцию getProductExtraFieldForProduct($product)
в частности, в строке
Код
$rows[] = array("name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$extra_field_value);
добавить "id"=>$field_id

А чтобы в карточке товара к характеристике по id обратиться эта правка нужна?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Немного не верно сформулировал вопрос. Почему в карточке товара можно обратиться по id, а из списка товара нельзя? Вопрос не в идеологии, а в технической реализации. Для списка товаров массив параметров передаётся из функции \components\com_jshopping\lib\functions.php функцию getProductExtraFieldForProduct($product). А в карточку товара откуда?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
\components\com_jshopping\tables\product.php function getExtraFields
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Спасибо! Уже не первый раз встречаю эту сомнительную "фишку", что в список товаров, категорий, производителей передаётся ограниченный набор параметров и приходится по живому править "костыли", чтобы те же возможности были доступны и в списке товаров. Вот реально не понимаю, нафига всё было так усложнять, фактически дублируя полноценный код в "кастратный"? Из одного места чем было бы хуже забирать одинаковый набор параметров?

ЗЫ. А вот ещё вижу, что и группы характеристик в список товаров тоже не передаются... значит ещё одни костыли вставлять придётся.
*

devul

  • Захожу иногда
  • 283
  • 21 / 1
  • если помог можете поставить +
сделано это для оптимизации. Вы посмотрите print_r что вообще получается и поймете что если для одного товара это еще терпимо, то  когда у вас список из 50 товаров на странице то "лишних" данных получается уже много.
Бложик про joomla, k2, joomshoppingdevul.ru
*

denjer

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
так а каким тогда образом вывести в списке товаров только определенные характеристики по id? прочел тему так и не понял, знаний php уже наверно не хватает.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
так а каким тогда образом...
тогда - это когда? у вас какой то особый случай, отличный от описанного тут решения? если нет - то таким образом, как тут описано, и вывести

прочел тему так и не понял, знаний php уже наверно не хватает
скорее правильно будет "знаний php еще наверно не хватает". :) чтобы это недоразумение исправить, заваривайте кофе/чай, усаживайтесь поудобнее и читайте тему еще столько раз, сколько потребуется чтобы понять. потому что добавить к сказанному как бы особо нечего, все и так вроде, что надо сделать, написано. дальше - только взять и сделать
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
В JoomShopping 4.x.x вышеописанный вариант тоже работает..., но номера строк немного другие...
« Последнее редактирование: 11.04.2014, 02:27:19 от Silent_Breeze »
Здесь всё есть... просто нужно поискать немного... ;)
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
Код
<div class="extra_fields">
        <?php $extra_field_group = "";
        foreach($this->product->extra_field as $extra_field){
вставить ---> if ($extra_field["id"] != ID нужной хар-ки ) continue;
            if ($extra_field_group!=$extra_field['groupname']){
                $extra_field_group = $extra_field['groupname'];
            ?>
            <div class='extra_fields_group'><?php print $extra_field_group?></div>
            <?php }?>
            <div><span class="extra_fields_name"><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span><?php } ?>: <span class="extra_fields_value"><?php print $extra_field['value'];?></span></div>
        <?php }?>
</div>
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Grikhno

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Подскажите пожалуйста как можно решить следующую задачу - мне нужно вставить значение определенной характеристики в ссылку. Чтобы в открывающемся по нажатию этой ссылки калькуляторе, сразу было задано нужное значение.  !
*

3gger

  • Новичок
  • 1
  • 0 / 0
Как реализовать в JoomShoping такое: при выборе определенного чекбокса выводится дополнительные атрибуты. Как здесь, т.е. включен по умолчанию "на подрамнике", а при выборе "выбрать багет" появляется виды багета и добавляется стоимость

« Последнее редактирование: 04.07.2014, 12:43:09 от 3gger »
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
поправьте пжлст свой пост в соответствии с правилами форума.
прочитайте внимательно требования к картинкам.
иначе просто удалю пост.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

damm88

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Подскажите, пожалуйста, почему у меня в списке товаров выводятся только первые 3 характеристики ? Нигде не вижу числа 3.. в карточке товара выводятся все характеристики.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
/administrator/index.php?option=com_jshopping&controller=config&task=catprod - какие отмечены в блоке списка товаров, такие и выводятся
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

damm88

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Спасибо огромное ! Извиняюсь за флуд. Но работают ли сообщения на форуме ? я хотел написать по доработкам, пишу письмо, а в исходящих оно не отображается.
« Последнее редактирование: 21.08.2014, 13:31:23 от damm88 »
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Когда пишете письмо там есть галочка "Сохранять в исходящих" Если не поставили, то в исходящих оно не сохраняется. Я сам не понимаю почему так сделано.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Доброго дня!

У меня на главной выводится список товаров, и хотелось бы там под картинками выводить 2-3 основные характеристики. Как я понимаю, то что здесь описано мне как раз поможет?
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com

У меня на главной выводится список товаров, и хотелось бы там под картинками выводить 2-3 основные характеристики. Как я понимаю, то что здесь описано мне как раз поможет?
в настройках задать хар-ки которые выводятся в категории.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

baskak

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Доброго времени суток. Форумчане, подскажите как мне сделать вывод характеристик в таблицу. Т.е есть таблица где 4 столбца основные, а 6 столбцов характеристики. Дело в том что, если для товара нет характеристики, то он не выводит ячейку таблицы и таблица становится не пойми на что похожа. Что делать?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
покажите код, как выводите характеристики
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

baskak

  • Осваиваюсь на форуме
  • 11
  • 0 / 0

   
   
 
            <?php foreach($product->extra_field as $extra_field){?>
                <td><?php print_r( $extra_field['value'])?></td>
            <?php }?>
*

baskak

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
изменения провожу в файле public_html\components\com_jshopping\templates\default3\list_products\product.php
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Автоматическая генерация Кода товара

Автор geral

Ответов: 4
Просмотров: 996
Последний ответ 17.03.2023, 13:21:43
от geral
Получить и вывести Статус заказов списком

Автор IgorGeneralov

Ответов: 5
Просмотров: 1224
Последний ответ 25.01.2023, 23:04:05
от IgorGeneralov
Проверить, есть ли у товара хоть одна из характеристик. Как?

Автор goga_pgasovav

Ответов: 8
Просмотров: 1219
Последний ответ 09.01.2023, 14:47:41
от sivers
Вывод характеристик товара в списке товаров (категории)

Автор voland

Ответов: 4
Просмотров: 2194
Последний ответ 17.09.2022, 13:21:03
от victorantoniak
Изменение характеристик при выборе атрибутов

Автор jimka

Ответов: 10
Просмотров: 1757
Последний ответ 06.06.2022, 19:55:57
от Mister Shadow