1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

[Помощь] Вывод нескольких значений доп поля с типом строка в одну строку

Тема в разделе "Virtuemart", создана пользователем spro1, 9 фев 2020.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
  1. spro1

    spro1

    Регистр.:
    26 май 2013
    Сообщения:
    213
    Симпатии:
    72
    Всем привет!

    Помогите пожалуйста с решением:

    У товара добавлено дополнительное поле с типом “Строка”

    значений этого поля может быть несколько, и на сайте нужно сделать оформление примерно так:
    Заголовок поля: значение 1, значение 2, значение 3

    Сейчас код выглядит так, как будто заголовок поля и первое значение – это отдельное от остальных значений поле (код на скрине)
    Аннотация-2019-11-29-111636.png
    и на сайте в результате это выглядит примерно так:
    Заголовок поля:
    значение 1
    значение 2
    значение 3

    За вывод полей отвечает файл /components/com_virtuemart/sublayouts/customfields.php

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

    Вероятно у разработчиков были причины сделать так, но при этом и другой вариант тоже нужен, так как в моем случае есть много полей и у каждого по 5-7 значений, что в итоге выглядит ужасно.

    Помогите пожалуйста разобраться.

    PHP:
    <?php
    /**
    * sublayout products
    *
    * @package    VirtueMart
    * @author Max Milbers
    * @link http://www.virtuemart.net
    * @copyright Copyright (c) 2014 VirtueMart Team. All rights reserved.
    * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL2, see LICENSE.php
    * @version $Id: cart.php 7682 2014-02-26 17:07:20Z Milbo $
    */

    defined('_JEXEC') or die('Restricted access');

    $product $viewData['product'];
    $position $viewData['position'];
    $customTitle = isset($viewData['customTitle']) ? $viewData['customTitle'] : false;
    if (isset(
    $viewData['class'])) {
        
    $class $viewData['class'];
    } else {
        
    $class 'product-fields';
    }

    if (!empty(
    $product->customfieldsSorted[$position])) {
        
    ?>
        <div class="<?php echo $class ?>">
            <?php
    if ($customTitle and isset($product->customfieldsSorted[$position][0])) {
            
    $field $product->customfieldsSorted[$position][0];?>
            <div class="product-fields-title-wrapper"><span class="product-fields-title"><strong><?php echo vmText::_($field->custom_title?></strong></span>
                <?php if ($field->custom_tip) {
                echo 
    JHtml::tooltip(vmText::_($field->custom_tip), vmText::_($field->custom_title), 'tooltip.png');
            }
    ?>
            </div> <?php
    }
        
    $custom_title null;
        foreach (
    $product->customfieldsSorted[$position] as $field) {
            if (
    $field->is_hidden || empty($field->display)) {
                continue;
            }
            
    //OSP http://forum.virtuemart.net/index.php?topic=99320.0
            
    ?>
                <div class="product-field product-field-type-<?php echo $field->field_type ?>">
                    <?php if (!$customTitle and $field->custom_title != $custom_title and $field->show_title) {?>
                        <span class="product-fields-title-wrapper"><span class="product-fields-title"><strong><?php echo vmText::_($field->custom_title?></strong></span>
                            <?php if ($field->custom_tip) {
                echo 
    JHtml::tooltip(vmText::_($field->custom_tip), vmText::_($field->custom_title), 'tooltip.png');
            }
    ?></span>
                    <?php }
            if (!empty(
    $field->display)) {
                
    ?><div class="product-field-display"><?php echo $field->display?></div><?php
    }
            if (!empty(
    $field->custom_desc)) {
                
    ?><div class="product-field-desc"><?php echo vmText::_($field->custom_desc?></div> <?php
    }
            
    ?>
                </div>
            <?php
    $custom_title 
    $field->custom_title;
        }
    ?>
          <div class="clear"></div>
        </div>
    <?php
    }