Домой Wp-Recall WP-Recall: Проблемы и решения Вывод произвольных свойств продукта.
9ответ(ов) в теме
Шустрый Огурчик
не в сети 8 лет
На сайте с 27.02.2014
Участник
Тем 38
Сообщения 111
1
21:44

У меня есть дополнительное поле "Производители", у него в виде чекбокса список названий фирм-производителей. Как мне вывести на странице товара Имя отмеченного чекбокса? Стандартный метод мне возсращает Array, Через print_r выводит Array ( [0] => proizvoditel1 ), proizvoditel1 у меня это компани "Экософт".

Как парвильно сделать так, чтобы если отметили чекбокс в даминке "Экоcофт", в шаблона вывелось именно "Производитель:Экософт" а не "Производитель:Array"?

0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
2
21:53

для одного произвольного поля чекбоксов может быть несколько, поэтому все отмеченные значения складываются в массив.
Array(
|0|=>первое значение
|1|=>второе значение
...
)
Поэтому надо просто перевести массив в строку и вывести результат

$string = implode(', ',$array );
echo 'Производитель: '.$string;

0
Шустрый Огурчик
не в сети 8 лет
На сайте с 27.02.2014
Участник
Тем 38
Сообщения 111
3
22:05

Андрей Plechev сказал(а)

для одного произвольного поля чекбоксов может быть несколько, поэтому все отмеченные значения складываются в массив.
Array(
|0|=>первое значение
|1|=>второе значение
...
)
Поэтому надо просто перевести массив в строку и вывести результат

$string = implode(', ',$array );
echo 'Производитель: '.$string;

Написал функцию

<?php
$array = get_post_meta($post->ID, 'pro_iz', true);
$string = implode(', ',$array );
echo 'Производитель: '.$string;
?>

Ключ вывело правильно, а вот нужно теперь вывести само название ключа на русском, те мы пишем в значние чекбоксов proizvoditel1:Экософт и нужно выводить именно Экософт, а не proizvoditel1 . или нужно оба писать на кириллице? насколько я понимаю, так делать нельзя.

0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
4
22:08

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

0
Шустрый Огурчик
не в сети 8 лет
На сайте с 27.02.2014
Участник
Тем 38
Сообщения 111
5
22:37

Андрей Plechev сказал(а)

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

Вот пример, как описано в плагине произвольных полей:

Вы не можете просматривать опубликованные ссылки

Тут первое значение ключ поля, второе это как оно будет отображаться в админке при добавлении. те получается все ключи я должен установить к кириллице, те Цвет - Красный : Выбрать Красный, и в шаблоне все корректно отобразится как Цвет: Красный ? Я почему то думал что ключи должны быть только на английском, чтобы было удобно к ним обращаться.

0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
6
22:42

ключи массива могут быть любыми
Я не знаю полную структуру исходного массива, поэтому что то конкретное в вашем случае подсказать не смогу.

0
Шустрый Огурчик
не в сети 8 лет
На сайте с 27.02.2014
Участник
Тем 38
Сообщения 111
7
22:48

Андрей Plechev сказал(а)

ключи массива могут быть любыми
Я не знаю полную структуру исходного массива, поэтому что то конкретное в вашем случае подсказать не смогу.

Мне самое главное знать, если при такой структуре я буду искать через Posts Filter Generator производителя, все должно будет отображаться?

0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
8
22:56

Повторяю, мне не ясна структура массива значений.
Но подозреваю, что производить поиск по многоуровневому массиву будет затруднительно.

0
Шустрый Огурчик
не в сети 8 лет
На сайте с 27.02.2014
Участник
Тем 38
Сообщения 111
9
23:23

Андрей Plechev сказал(а)

Повторяю, мне не ясна структура массива значений.
Но подозреваю, что производить поиск по многоуровневому массиву будет затруднительно.

получается, что идет произвольное поле=>key[keyname], как то так.
Или я не так понимаю? Как узнать полную структуру исходного массива? Или как его правильно построить чтобы фильтр кушал правильно?

0
Тема закрыта. Публикация новых сообщений запрещена.