Куда идем?

Как сделать дополнительные вкладки в описании товара

Больше
11 года 11 мес. назад #3479 от Den1a
Каким расширением нужно воспользоваться, что бы организовать вот такие дополнительные вкладки?
Заранее благодарен.
Вложения:

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 11 мес. назад #3481 от Wedal
Den1a, нужно воспользоваться любым скриптом, делающим вкладки, например qtabs.
Спасибо сказали: Den1a

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 11 мес. назад #3483 от Den1a
Благодарю. Это штука называется табы. Я выбрал Tabber-v1.4.0 и получилось очень симпатично)Он русифицирован и имеет много настроек. После установки в редакторе появилась новая кнопка вставка табов.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 5 мес. назад #4259 от albrt
Пробовал этот плгин, а еще и плагин DJ-VMPageBreak для Joomla 2.5 и VirtueMart 2,Но результат, к сожалению, один и тот же ( картинку прилагаю) Доп вкладка помещается в основное описание товара.. Не происходит разрыва страницы ( как мне кажется)Прошу помощи ...
Вложения:

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 5 мес. назад #4268 от Wedal
albrt, а как хотите чтобы было?

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 1 мес. назад - 11 года 1 мес. назад #4949 от bionetinfo
Здравствуйте, делаю табы (J2.5.8+VM2.0.18) в карточке товара по примеру статьи Добавление mootools-вкладок для VirtueMart .
Возникла проблема с выводом JComments:
Code:
$comments = JPATH_BASE . '/components/com_jcomments/jcomments.php'; if (file_exists($comments)) { require_once($comments); $output .= $myTabs->startPanel('Отзывы', 'tab5' ); echo JComments::showComments($this->product->virtuemart_product_id, 'com_virtuemart', $this->product->product_name); $output .= $myTabs->endPanel(); }
В итоге создается только вкладка без комментариев внутри.
Подскажите, в чем ошибка? Вне таба JComments работает без проблем.
Последнее редактирование: 11 года 1 мес. назад пользователем bionetinfo.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 1 мес. назад #4960 от Wedal
bionetinfo, попробуйте так:
Code:
$comments = JPATH_BASE . '/components/com_jcomments/jcomments.php'; if (file_exists($comments)) { require_once($comments); $output .= $myTabs->startPanel('Отзывы', 'tab5' ); $output .= JComments::showComments($this->product->virtuemart_product_id, 'com_virtuemart', $this->product->product_name); $output .= $myTabs->endPanel(); }

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 1 мес. назад - 11 года 1 мес. назад #4968 от bionetinfo
Wedal,
Благодарю за быстрый ответ, но ничего не меняется (вкладка есть, комментариев внутри нет...).
В чем может еще быть проблема?
Пробовал и с редактора подключить (тег {jcomments on}) - в Joomla работает, в VM - нет.
JComments ставил по этой инструкции (пост от SnakePsk). Сайт сейчас на локалхост.
Последнее редактирование: 11 года 1 мес. назад пользователем bionetinfo.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 1 мес. назад - 11 года 1 мес. назад #4969 от bionetinfo
Ура! Получилось:
Code:
$comments = JPATH_BASE . '/components/com_jcomments/jcomments.php'; if (file_exists($comments)) { require_once($comments); $output .= $myTabs->startPanel('Комментарии', 'tab5' ); $output .= $this->product->event->afterDisplayContent; $output .= $myTabs->endPanel(); }
Если кому интерестно - вариант со счетчиком комментариев:
Code:
$comments = JPATH_SITE . '/components/com_jcomments/jcomments.php'; //вывод JComments со счетчиком комментариев if (file_exists($comments)) { require_once($comments); $options = array(); $options['object_id'] = $this->product->virtuemart_product_id; $options['object_group'] = 'com_virtuemart'; $options['published'] = 1; $count = JCommentsModel::getCommentsCount($options); $output .= $myTabs->startPanel('Комментарии ('.$count.')', 'tab5' ); $output .= '<p>'. $this->product->event->afterDisplayContent.'</p>'; $output .= $myTabs->endPanel(); }
Последнее редактирование: 11 года 1 мес. назад пользователем bionetinfo.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 1 мес. назад - 11 года 1 мес. назад #4984 от bionetinfo
Подскажите, пожалуйста, еще пару вопросов по теме:
1. как в табе вывести "Задать вопрос по товару" (не ссылку а саму форму)?
2. как вывести статью Joomla в таб?
Последнее редактирование: 11 года 1 мес. назад пользователем bionetinfo.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 1 мес. назад #4987 от Wedal
bionetinfo,
1. Не пробовал. Подключить макет формы через php require ну а дальше копать что да как.
2. Статью Joomla в таб товара? Что за извращение ? ;-)

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 1 мес. назад #4990 от bionetinfo

Wedal пишет: 2. Статью Joomla в таб товара? Что за извращение ? ;-)

Условия оплаты и доставки например.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 1 мес. назад #4992 от Wedal
bionetinfo, условия - это интересно. Я так понимаю, речь идет о данных, которые одинаковы для всех товаров, но нужно иметь возможность их редактирования из админки. Тогда наверное проще создать модуль html-кода. Во вкладке его вывести примерно так:
Code:
$module = JModuleHelper::getModule('ИМЯ_МОДУЛЯ','ЗАГОЛОВОК МОДУЛЯ'); echo JModuleHelper::renderModule($module);
Спасибо сказали: bionetinfo

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 1 мес. назад #4994 от bionetinfo

Wedal пишет: bionetinfo, условия - это интересно. Я так понимаю, речь идет о данных, которые одинаковы для всех товаров, но нужно иметь возможность их редактирования из админки. Тогда наверное проще создать модуль html-кода...

Это я и имел ввиду. Посетители чаще знакомятся с данной информацией если она находится под рукой а не запрятана где-то в общем меню.
Спасибо за подсказку по коду, буду пробовать реализовать.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
11 года 1 мес. назад - 11 года 1 мес. назад #4999 от bionetinfo
Получилось реализовать, правда не через имя модуля а ч/з позицию.
Может кому понадобится, процедура следующая:
1. Создаем необходимый модуль в Joomla (произвольный HTML-код), присваиваем ему несуществующую в шаблоне позицию, например virt.
2. Добавляем в карточку товара код, дающий возможность вывода модулей:
Code:
function ModulePosition( $position, $style=-2 ) { $document =& JFactory::getDocument(); $renderer = $document->loadRenderer('module'); $params = array('style'=>$style); $contents = ''; foreach (JModuleHelper::getModules($position) as $mod) { $contents .= $renderer->render($mod, $params); } return $contents; }
3. Выводим модуль во вкладке:
Code:
$output .= $myTabs->startPanel( 'Доставка и оплата', 'tab6' ); $output .= ModulePosition( 'virt', $style='xhtml' ); $output .= $myTabs->endPanel();

Получилось не совсем удобно (для админа). Лучше, когда бы выводилась непосредственно статья Joomla. Кто знает как реализовать - поделитесь опытом.
Последнее редактирование: 11 года 1 мес. назад пользователем bionetinfo.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад - 2 года 3 мес. назад #9421 от DrShepard
Добрый день! Хотела создать вкладку в карточке товара. Вкладка появилось, но вот информация которая там должна отображаться, не получается вывести. Код который я использовала. Вывести хочу настраиваемые поля. Возможно я второй фрагмент не туда вставляю? Подскажите пожалуйста как исправить. В коде вставляла со 426 строки для вкладки после tab-1. А второй фрагмент со строки 506.
Первое вставила:
<?php if (!empty($this->product->customfieldsSorted)) { ?>
<li><a href="#newtab" data-toggle="tab">Характеристики</a></li>
<?php } ?>
Потом:
<?php if (!empty($this->product->customfieldsSorted)) { ?>
<div id="newtab" class="tab-pane fade">
<?php echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$this->product,'position'=>'newtab')); ?>
</div>
<?php } ?>
Вложения:
Последнее редактирование: 2 года 3 мес. назад пользователем DrShepard.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 3 мес. назад - 2 года 2 мес. назад #9422 от Wedal
DrShepard, по скриншоту похоже, что у вас где-то не закрыт тег. Хотя по коду, который вы привели, вроде всё правильно. Попробуйте вывести на вкладке не поля, а простой текст для начала. Если с ним вкладка будет работать нормально, значит нужно смотреть что там в renderVmSubLayout.

Также по коду. Я бы советовал проверять условие не $this->product->customfieldsSorted, а $this->product->customfieldsSorted["newtab"]. Т.е. именно нужную вам позицию, иначе оно будет верным независимо от полей в этой позиции, если присутствует любое поле в другой позиции.
Последнее редактирование: 2 года 2 мес. назад пользователем Wedal.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 2 мес. назад #9423 от DrShepard
Спасибо! Я оставила тот же код, но создала 2 разных настраваемых полей: Строка и Область текста. И тогда все работает. До этого тип поля выбирала Редактор.
"Также по коду. Я бы советовал проверять условие не $this->product->customfieldsSorted, а $this->product->customfieldsSorted. Т.е. именно нужную вам позицию, иначе оно будет верным независимо от полей в этой позиции, если присутствует любое поле в другой позиции." - Я вот это не поняла, что нужно сделать.
Вложения:

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
2 года 2 мес. назад #9424 от Wedal
DrShepard, $this->product->customfieldsSorted["newtab"]. Вырезался блок в кавычках.

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.