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

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

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

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

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

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

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

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

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

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

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

10 года 1 мес. назад - 10 года 1 мес. назад #4949 от bionetinfo
Здравствуйте, делаю табы (J2.5.8+VM2.0.18) в карточке товара по примеру статьи Добавление mootools-вкладок для VirtueMart .
Возникла проблема с выводом JComments:
$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 работает без проблем.

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

10 года 1 мес. назад #4960 от Wedal
bionetinfo, попробуйте так:
$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();
}

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

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

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

10 года 1 мес. назад - 10 года 1 мес. назад #4969 от bionetinfo
Ура! Получилось:
$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();
}
Если кому интерестно - вариант со счетчиком комментариев:
$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();
				}

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

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

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

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

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

10 года 1 мес. назад #4990 от bionetinfo

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

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

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

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

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

10 года 1 мес. назад #4994 от bionetinfo

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

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

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

10 года 1 мес. назад - 10 года 1 мес. назад #4999 от bionetinfo
Получилось реализовать, правда не через имя модуля а ч/з позицию.
Может кому понадобится, процедура следующая:
1. Создаем необходимый модуль в Joomla (произвольный HTML-код), присваиваем ему несуществующую в шаблоне позицию, например virt.
2. Добавляем в карточку товара код, дающий возможность вывода модулей:
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. Выводим модуль во вкладке:
$output .= $myTabs->startPanel( 'Доставка и оплата', 'tab6' ); 
					$output  .= ModulePosition( 'virt', $style='xhtml' );
					$output .= $myTabs->endPanel();

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

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

1 год 3 мес. назад - 1 год 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 } ?>
Вложения:

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

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

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

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

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

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

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

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