문제

어처구니 없는 상황에 어려움을 겪고 있습니다.한 고객이 몇 가지 옵션을 추가하기 위해 '고급 검색' 페이지를 변경해 달라고 요청했습니다.이 페이지의 URL은 다음과 같습니다 http://www.domainname.com/index.php/catalogsearch/advanced/

이곳은 Magento 스토어이고 저는 이 프레임워크에 대한 경험이 없습니다.나는 그것을 배우려고 노력했지만 프로젝트를 정시에 완료하기에 충분한 지식을 얻기에는 학습 곡선이 너무 가파르다는 것을 알았습니다.

그래서 먼저 모든 소스 파일에서 검색어를 검색하고 적중 횟수를 보고하는 작은 PHP 도구를 만들었습니다.저는 이 도구를 사용하여 고급 검색 페이지에 나타나는 고유한 문자열을 찾았습니다.그런데 글이 어디에도 없네요!

다음 시도는 문자열을 찾기 위해 데이터베이스를 살펴보는 것이었습니다.그래서 모든 DB 데이터를 내보내고 결과 쿼리를 코드 편집기에 복사한 후 다시 검색했지만 아무것도 찾지 못했습니다!

이것은 매우 어색하고 나를 미치게 만듭니다.고급 검색 옵션을 출력하는 코드 블록을 찾을 수 없습니다!

'아무거나' 도움을 주시면 감사하겠습니다.

감사합니다, Majid

도움이 되었습니까?

해결책

Magento의 URL은 특정 모듈에 대한 템플릿 파일의 위치를 ​​알려줍니다.

예를 들어, 다음을 검색할 때 catalogsearch/advanced/, 모든 템플릿 파일은 앱에 있습니다./design/frontend/default/your-theme/.

해당 폴더 안을 살펴보면 분명합니다.라는 폴더가 있을 겁니다. catalogsearch 그 안에는 advanced;그 안에는 두 개의 파일이 있습니다:

  • form.phtml
  • result.phtml

다른 팁

지금까지 나는 로컬 데브 박스에서 다음과 같은 전술을 사용해 왔습니다 - 분명히 라이브 스토어에서 이것을 시도하지 마십시오! :

  1. 템플릿 경로를 켜십시오 hints + system -> config -> developer의 블록 이름. 이렇게하면 최종 렌더링과 사용하는 블록 객체 유형을 수행하는 PHTML 파일로 연결됩니다. IP를 제한하지 않는 한 모든 방문자는 이것을 볼 수 있습니다!
  2. 그런 다음 phtml 파일에서 더 발굴하기 위해 zend_debug :: dump ($ var)를 쉽게 할 수 있습니다.
  3. 편집기 또는 GREP를 통해 /앱 /코드 디렉토리를 검색하여 방금 찾은 객체 유형을 정의하는 파일을 찾으려면 Zend를 기반으로 한 객체를 기반으로 한 객체 클래스에서 대부분의 시간을 해결할 수 있습니다.

또한

  • 편리한 속임수는 PHP/PHTML 파일에 오류를 의도적으로 삽입하는 것입니다. Magento
  • 핵심 파일의 echo () 명령문은 일반적으로 잘 작동합니다. Magento 설정에서는 일반적으로 HTML 헤더가 잘못된 시간에 전송되도록 트리거하지 않습니다.
  • NetBeans/Eclipse/Zend Studio 등과 같은 IDE를 사용하고 모든 Magento 코드를 프로젝트에 넣고 결과 PHPDOC 정보, '공개 선언'및 코드 지원은 몇 시간을 검색 할 수 있습니다.
  • XDEBUG가 IDE를 사용하여 테스트 서버에서 작업하는 데 시간을 보내십시오. 내가 처음부터 설정 한 가장 쉬운 것은 (Mac에서) NetBeans가있는 로컬 맘 설치입니다. NetBeans 사이트는이 작업을 잘 수행하면 대부분의 것을 잊을 수 있습니다. 다른 트릭!

이것들은 내가 지금까지 시도한 것일뿐입니다. 더 많은 제안을 해주세요! 여전히 Magento가 사용하는 수많은 XML 파일에서 XML 문제의 구성 문제를 디버깅하는 기술을 찾지 못했습니다. 여기서 문제는 조용히 실패하는 경향이 있으며 결과적으로 추적하기가 어렵습니다 + XML 문서는 끔찍합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top