Страница товара (подскажите)

В данной категории, пользователи задают вопросы относительно установки и эксплуатации MOGUTA.CMS
Ответить
Аватара пользователя
Killafromtequila
lvl 2
Сообщения: 8
Зарегистрирован: 16 окт 2019, 14:24

Страница товара (подскажите)

Сообщение Killafromtequila » 16 окт 2019, 14:44

Доброго времени суток, нужна подсказка по product.php
Второй день пытаюсь реализовать свою мысль, но не получается.

В общем в чем проблема. Прикрепляю скриншот.

Скриншот

Создал "Характеристику товаров" - "Текстовое поле"
И моя задумка в том что бы переместить "Информацию, т.е текстовое поле" туда где у меня стрелочка показывает.
Однако, сделать у меня это получилось, но только при нажатии кнопки "Информация". Что бы вы понимали, кнопка находится там же где и на скриншоте, но при нажатии информация от туда отображается там где мне нужно.
Я бы хотел обойти это

И так, как обойти это? И сделать так что бы при входе на страницу товара, сразу там отображалась то что я пропишу в "Текстовом поле". ???
Подскажите =)

Вот вроде бы сам код который отвечает за это поле

Код:

Код: Выделить всё

<?php endif; ?>
                            <?php foreach ($data['thisUserFields'] as $key => $value) {
                                if ($value['type'] == 'textarea') { ?>
                                    <div class="c-tab__content" id="c-tab__tab<?php echo $key ?>">
                                        <?php echo preg_replace('/\<br(\s*)?\/?\>/i', "\n", $value['value']) ?>
                                    </div>
                                <?php }
                            } ?>
Аватара пользователя
4UBAKA
lvl 2
Сообщения: 6
Зарегистрирован: 04 ноя 2019, 23:03

Re: Страница товара (подскажите)

Сообщение 4UBAKA » 05 ноя 2019, 00:18

Killafromtequila писал(а):
16 окт 2019, 14:44

Я бы хотел обойти это ...
Доброго времени суток!
Хорошая идея. Только отображение по клику - это результат работы JS скрипта "табов"? в которых все вкладки, кроме первой, по умолчанию, скрыты ( в стилях display:none ). По клику на заголовок(пункт) соответствующего таба этот скрытый таб переключается в отображаемый (JS скриптом).
Возможные варианты (я не спец по скриптам и данной системе, но в вёрстке что-то понемногу получается, просто в целом по HTML и CSS)
- отвязывать отображение контента от этого JS скрипта, например, сменить классы в вёрстке для элемента где выводится контент этого поля с настроек (по идее он через РНР выводится и оформляется средствами HTML /CSS)
- доработать/поправить JS скрипт для табов, но если я прав в своих предположениях, то это не совсем правильный путь, т.к. правильнее изменить оформление вывода, то что выше указал
Получилось ли у Вас решить вопрос в итоге на данный момент?
Аватара пользователя
Killafromtequila
lvl 2
Сообщения: 8
Зарегистрирован: 16 окт 2019, 14:24

Re: Страница товара (подскажите)

Сообщение Killafromtequila » 06 ноя 2019, 15:23

К сожалению, нет.
Ничего не вышло так как я тоже не особо силён в скриптах и работаю с данной системой впервые. :|
Аватара пользователя
i3bepb
lvl 3
Сообщения: 16
Зарегистрирован: 01 ноя 2019, 14:53

Re: Страница товара (подскажите)

Сообщение i3bepb » 06 ноя 2019, 15:34

А какой сайт, хочу посмотреть не совсем понимаю, что хотите сделать? Хотите чтобы вкладка Информация была сразу выбрана при заходе на страницу или совсем не важна вкладка, а просто нужен контент Информация в нужном месте, а вкладка совсем не нужна? В массиве $data['thisUserFields'] находятся настройки и он в цикле их обходит и выводит. Если знать $key, то можно получить доступ к значению конкретной настройки, например

Код: Выделить всё

$data['thisUserFields']['mykey']['value']
Аватара пользователя
4UBAKA
lvl 2
Сообщения: 6
Зарегистрирован: 04 ноя 2019, 23:03

Re: Страница товара (подскажите)

Сообщение 4UBAKA » 06 ноя 2019, 16:17

Тогда давайте совместно с самого начала решать проблему :)
Может тогда кто-нибудь подскажет, кто в РНР вопросах силён - пример кода, который выведет значение этого поля без лишних примочек табов
Но я, со своими скромными пониманиями РНР могу предположить следующее
Фрагмент самый первый

Код: Выделить всё

<?php endif; ?>
скорее всего зацепили от предыдущего условного выражения РНР кода, он скорее всего не корректен в общей массе, поскольку может добавлять баги при отсутствии парного начального фрагмента, что-то типа

Код: Выделить всё

<?php if; ?>
... вообщем без него, наверно, правильнее будет
Остаётся

Код: Выделить всё

                            <?php foreach ($data['thisUserFields'] as $key => $value) {
                                if ($value['type'] == 'textarea') { ?>
                                    <div class="c-tab__content" id="c-tab__tab<?php echo $key ?>">
                                        <?php echo preg_replace('/\<br(\s*)?\/?\>/i', "\n", $value['value']) ?>
                                    </div>
                                <?php }
                            } ?>
в нём

Код: Выделить всё

<?php foreach ($data['thisUserFields'] as $key => $value) {
                                if ($value['type'] == 'textarea') { ?>
похоже, что это цикл с проверкой, который, вероятно, определяет что есть ли заполненное поле, т.е. есть ли что, что надо выводить
далее сам вывод и оформление

Код: Выделить всё

                                    <div class="c-tab__content" id="c-tab__tab<?php echo $key ?>">
                                        <?php echo preg_replace('/\<br(\s*)?\/?\>/i', "\n", $value['value']) ?>
                                    </div>
вот этот фрагмент, тот что в центре, нам и нужен по сути, он в итоге выводит данные, но без предыдущих дополнений(цикла и проверки) может и не работать или не корректно работать
регуляркой, судя по всему, обрезается лишний html

Код: Выделить всё

<?php echo preg_replace('/\<br(\s*)?\/?\>/i', "\n", $value['value']) ?>
т.е просто сам вывод данных
а вот этот код:

Код: Выделить всё

                                    <div class="c-tab__content" id="c-tab__tab<?php echo $key ?>">
                                        .......
                                    </div>
судя по всему и должен отвечать за оформление и анимацию (показ по клику) в табе
это div (блок) с классом "c-tab__content" ... может он отвечает или айдишник
но в адишнике есть метка РНР, может и она быть тригером/якорем для скрипта на анимацию
вообщем вот тут, скорее всего тут, что-то подправить надо, а точнее прописать/переписать под своё оформление

Код: Выделить всё

<div class="c-tab__content" id="c-tab__tab<?php echo $key ?>">
поменять имена класса или id-шника

В итоге:
Скоре всего (моё предположение), имена этого класса или айдишника и есть привязки к скрипту таба. Удалив их и прописав по своему мы оставляем цикл, проверку, вывод, но оформляем, без скриптов таба, по своему

Но это мои мысли вслух, на уровне "любителя")))
Пояснил как мог подробнее, может кто и поправит, если где ошибся)))

Но это, как вариант, что если у Вас всё выводится там где надо и не отображается без клика по вкладке таба

И ещё, уточните, пожалуйста: это на каком шаблоне?

PS:
Пока свою поэму писал, уже что-то подсказали )))
i3bepb писал(а):
06 ноя 2019, 15:34
... просто нужен контент Информация в нужном месте, а вкладка совсем не нужна
Я понимаю что такой интерес
Я, потом, на своём сайте, под этот вопрос буду решать задачу.
Пока вот поделился мыслями на этот счёт
Аватара пользователя
Killafromtequila
lvl 2
Сообщения: 8
Зарегистрирован: 16 окт 2019, 14:24

Re: Страница товара (подскажите)

Сообщение Killafromtequila » 08 ноя 2019, 13:09

Я запутался :D
Аватара пользователя
4UBAKA
lvl 2
Сообщения: 6
Зарегистрирован: 04 ноя 2019, 23:03

Re: Страница товара (подскажите)

Сообщение 4UBAKA » 09 ноя 2019, 12:43

Killafromtequila писал(а):
08 ноя 2019, 13:09
Я запутался :D
в чём? ... вроде всё подробно и с пояснениями

Если коротко и не вникая во все тонкости, как вариант:
1. Убрать из фрагмента первую строку

Код: Выделить всё

<?php endif; ?>
Останется только вот такой фрагмент

Код: Выделить всё

 
<?php foreach ($data['thisUserFields'] as $key => $value) {
	if ($value['type'] == 'textarea') { ?>
		<div class="c-tab__content" id="c-tab__tab<?php echo $key ?>">
			<?php echo preg_replace('/\<br(\s*)?\/?\>/i', "\n", $value['value']) ?>
		</div>
	<?php }
} ?>
И, для начала, как вариант, просто удалить :

Код: Выделить всё

class="c-tab__content" id="c-tab__tab<?php echo $key ?>"
Если будет желаемый результат, то уже оформить как надо, под свой шаблон
Ответить