2015-09-09 3 views
-2

Я пытаюсь удалить правую боковую панель с страницы успеха, но сейчас я не знаю, как это сделать.Magento: удалите правую боковую панель из страницы успеха

До сих пор я изменил

приложение/дизайн/интерфейс/по умолчанию/теме/макет/checkout.xml приложение/дизайн/интерфейс/базы/по умолчанию/макет/checkout.xml

добавляя к ним этот код

<checkout_onepage_success translate="label"> 
    <label>One Page Checkout Success</label> 
    <reference name="root"> 
     <action method="setTemplate"><template>page/1column.phtml</template></action> 
    </reference> 
    <reference name="content"> 
     <block type="checkout/onepage_success" name="checkout.success" template="checkout/success.phtml"/> 
    </reference> 
</checkout_onepage_success> 

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

+0

Если вы знаете имя блока на боковой панели, который вы хотите удалить, вы всегда можете сделать '' – Karl

+0

Могу ли я удалить его ТОЛЬКО на странице успеха? если да, то как я могу это сделать? – Shockrate

+0

Я уверен, что это должно сработать так, если вы завернете его в теги ' ' – Karl

ответ

0

Прежде всего убедитесь, что ваша страница успеха идет по той же макете. Для этого добавьте нижеприведенный код шаблона страницы успеха и проверьте применяемые дескрипторы.

echo '<pre>'; 
print_r($this->getLayout()->getUpdate()->getHandles()); 
echo '</pre>'; 

Если вы нашли checkout_onepage_success в выходном массиве затем выполните указанные ниже действия.

Создать local.xml файл в текущей раскладке темы и добавьте следующий код:

<layout version="0.1.0"> 
<checkout_onepage_success> 
    <reference name="root"> 
     <action method="setTemplate"><template>page/1column.phtml</template></action> 
    </reference> 
</checkout_onepage_success> 
</layout> 
0

Правильный способ изменить шаблон корневой страницы, это создать local.xml внутри вашей темы со следующим:

<layout version="0.1.0"> 
    <checkout_onepage_success> 
     <update handle="page_one_column" /> 
    </checkout_onepage_success> 
</layout> 

Выделенная setTemplate в корневом блоке не обновляет шаблон, потому что требуются дополнительные действия, которые page.xml, как 1.

Если вы хотели бы пойти глубже и понять причины, гляньте следующий код в Mage_Page_Helper_Layout

if ($this->getLayout()->getBlock('root') && 
    !$this->getLayout()->getBlock('root')->getIsHandle()) { 
     // If not applied handle 
     $this->getLayout() 
      ->getBlock('root') 
      ->setTemplate($pageLayout->getTemplate()); 
} 

С наилучшими пожеланиями

Смежные вопросы