Столбец meta_value формата Wordpress для получения только значений опций - PullRequest
0 голосов
/ 29 мая 2018

В WordPress я создал значение выбора для настраиваемого поля, как показано ниже:

enter image description here

Я пытаюсь получить значения выбора в magento

field_57bdd83367bb1 - это мой fieldkey

public function getPostType2()
{
    try{
    $resource = Mage::getSingleton('core/resource');
    $readConnection = $resource->getConnection('new_db');
    $query = 'SELECT meta_value FROM ' . $resource->getTableName('wp_postmeta'). ' WHERE meta_key = "field_57bdd83367bb1"';
    $results = $readConnection->fetchAll($query);
    return $results[0]['meta_value'];   
    }catch (Exception $e) {

        return true;
    }   
}

в phtml:

$recentpost = Mage::helper('wordpress')->getblogmainbannerpost($bannercheckedblogpost['post_id']);
$posttype=  Mage::helper('wordpress')->getPostType2();
$posttype = explode(',',$posttype);
echo 'Post type:';print_r($posttype);   

вывод:

Array([0] => a: 12: {s: 3: «ключ»; s: 19: «field_57bdd83367bb1»; s: 5: «label»; s: 4: «Type»; s: 4: «name»; s: 4: "тип"; s: 4: "тип"; s: 6: "выбрать"; s: 12: "инструкции"; s: 0: ""; s: 8: "требуемые"; s:1: "0"; s: 7: "выбор"; a: 7: {s: 7: "Статья"; s: 7: "статья"; s: 9: "Запись блога"; s: 9: "blog_post""; s: 16:" Artists & Makers "; s: 16:" artistandmakers "; s: 6:" Videos "; s: 6:" videos "; s: 12:" In The Press "; s: 12:"in_the_press"; s: 14: "Знаете ли вы?"; s: 12: "did_you_know"; s: 14: "Глоссарий A - Z"; s: 8: "глоссарий";} s: 13: "default_value"; s: 39: "blog_post in_the_press did_you_know"; s: 10: "allow_null"; s: 1: "0"; s: 8: "множественный"; s: 1: "1"; s: 17: "conditional_logic"; а: 3: {s: 6: "статус"; s: 1: "0"; s: 5: "правила"; а: 1: {я: 0; а: 2: {s: 5: поле ""; s: 4:" нулевой "; s: 8:" оператор "; s: 2:" ==»;}} s: 8: "allorany"; s: 3: "all";} s: 8: "order_no"; i: 0;})

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

    <div class="category-list">
            <?php // echo $this->__('All Types') ?>
            <select id="blogcat">
                <option><?php echo $this->__('Article Type') ?></option>
                <option value=""><?php echo $this->__('All Types..') ?></option>
                <option value="<?php echo $posttype;?>"> </option>

            </select>
        </div>

1 Ответ

0 голосов
/ 26 февраля 2019

Я полагаю, что формат данных, который вы видите, является результатом serialize () unserialize () функций PHP.Таким образом, вы бы изменили return $results[0]['meta_value']; на return (unserialize($results[0]['meta_value']))->choices;

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