Проблема с Configobj-python и элементами списка

Итак, я просто понял это и подумал, что поделюсь тем, как я это сделал.

Я скопировал следующий файл в папку темы, как показано ниже.

FROM: vendor / magento / module-checkout / view / frontend / layout / default.xml

TO: app / design / frontend / themeprovider / имя-имя / Magento_Checkout / layout / default.xml

Я создал блок CMS с именем minicart с идентификатором minicart_message в панели администратора magento.

Я добавил свой код в файл default.xml непосредственно под следующей строкой

<block class="Magento\Checkout\Block\Cart\Sidebar" name="minicart" as="minicart" after="logo" template="Magento_Checkout::cart/minicart.phtml">

Код Я добавил

<block class="Magento\Cms\Block\Block" name="minicart_message">
                <arguments>
                    <argument name="minicart_message" xsi:type="string">minicart_message</argument>
                </arguments>
</block>

Затем я редактировал мой mini_cart.phtml в моей теме app / design / frontend / themeprovider / themename / Magento_Checkout / templates / cart /

Это код Я добавил туда, где хотел, чтобы пользовательский блок CMS отображался.

<?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('minicart_message')->toHtml();?>

Надеюсь, что кто-то еще попытается понять это.

0
задан eyllanesc 23 January 2019 в 19:55
поделиться

1 ответ

Ваш вопрос состоит из двух частей.

  1. Опции в ConfigObj могут быть либо строкой, либо списком строк.

    [Parameters]
      name = hello1             # This will be a string
      pets = Fluffy, Spot       # This will be a list with 2 items
      town = Bismark, ND        # This will also be a list of 2 items!!
      alt_town = "Bismark, ND"  # This will be a string
      opt1 = foo,               # This will be a list of 1 item (note the trailing comma)
    

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

  2. В Python строки являются итеративными. Таким образом, даже если они не являются списком, их можно повторять. Это означает, что в выражении типа

    print(", ".join(para['name']))
    

    строка para['name'] будет перебираться, создавая список ['h', 'e', 'l', 'l', 'o', '1'], который Python покорно объединяет вместе с пробелами, создавая

    h e l l o 1
    
0
ответ дан TomK 23 January 2019 в 19:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: