2011-03-04 3 views
3

Magento 사이트의 홈페이지 CMS 페이지에 mxpert 로그인을 추가했습니다. 내가. 로그인 상태가 오류가있는 경우 고객을 보여,이 로그인에 글로벌 메시지를로드하고자Magento CMS의 글로벌 메시지 페이지

감사

기본적으로

답변

7

사용이 :

<?php echo 
    Mage::app()->getLayout()->getMessagesBlock()-> 
     setMessages(Mage::getSingleton('customer/session')->getMessages(true))->getGroupedHtml() 
?> 
1

것, 마 젠토에 상관없이 어디에, 당신은 항상 사용할 수있는 미니 로그인 기능을 제공합니다 사용자는 현재 로그인되어 있습니다. 따라서 모든 페이지 (CMS 페이지 포함)에서 사용자는 미니 로그인 기능을 사용하여 로그인 할 수 있습니다.

이제 오류가 발생하면 Magento는 기본적으로 사용자를 실제 로그인 오류 페이지를 표시하는 기본 로그인 페이지로 리디렉션합니다. 따라서 개발 중이거나 변경중인 Magento 테마의 기본 흐름을 변경할 필요가 없습니다.

는 도움이되기를 바랍니다.


편집 : -
젠토는 (기본적으로) 수행하는 특정 세션 배열에 모든 메시지 (성공/오류/경고)를 저장 무엇입니까. 다음 코드 행을 사용하여 프런트 엔드의 모든 페이지 &에서 호출됩니다. - <?php echo $this->getChildHtml('global_messages') ?>.
"app/design/frontend/base/default/template/page/"폴더에 정의 된 거의 모든 페이지 레이아웃 (예 : "1column.phtml", "2columns-left.phtml", & 등)에서 위의 행을 찾을 수 있습니다. 또한 위의 코드 행은 실수로 변조되지 않은 한 레이아웃 XML 파일 중 하나에 "global_messages"이라는 블록이 있어야 함을 의미합니다.

이제 위의 브리핑은 Magento 시스템이 어떤 종류의 메시지를 표시하는지 이해하는 데 필요했습니다. 따라서 이러한 메시지 (있는 경우)가 프론트 엔드 페이지에 표시 될 때마다 관련 세션 배열은 해당 메시지 요소를 해당 배열에서 제거하거나 지 웁니다.
하지만 중요한 점은 메시지가 적절한 페이지에 표시되어야한다는 것입니다. 그렇지 않으면 Magento가 메시지를 표시 할 적절한 위치를 찾으면 표시됩니다 (일부 부적절한 페이지에서). 그리고 나는 이것이 너에게도 일어난 일이라고 생각한다. 그에 따라 적절한 템플릿 파일 & 관련 레이아웃 페이지를 확인하시기 바랍니다 수 있다면

그래서 더 좋을 것입니다에 대한 ("app/design/frontend/base/default/template/page/" "1column.phtml"와 같은 폴더에 나열된 페이지, 등등 "2columns-left.phtml"& 사이) 다음 코드는 -
<?php echo $this->getChildHtml('global_messages') ?>입니다.

+0

내가 로그인에서 오류를 넣어 경우 새로 고침 아무것도 볼하지는 그러나 내 CMS 페이지에서 메시지 오류가 표시하지는,하지만 난에 가서 문제 이 페이지에서 전역 메시지를로드하기 때문에 레지스터에 오류가 발생했습니다. 어떤 아이디어 ??? – davidselo

+0

@davidseo - 위의 편집 된 답변을 확인하십시오. –

+0

나는 이것을 이해하지만, 나는이 페이지를위한 새로운 템플릿을 만들었다. 템플릿 이름 welcome.phtml은 다른 페이지와 다르다. 이 페이지는 CMS에서 생성되며 새 템플릿을 할당하지만이 페이지에는 레이아웃이 없습니다. 어떻게 만들 수 있습니까 ???? 나는 cms.xml에 전역 메시지 블록을 추가하려고 시도하지만 작동하지 않습니다. 덕분에 – davidselo

관련 문제