2012-06-08 1 views
1

안녕 나는 약간의 DB 정보를 검색하기 위해 아약스와 전화하지만 내가이 파일에서 전화를 걸 수없는 어떤 이유로 사용자 지정 스크립트가 있습니다. 아직 내가 템플릿 diretory의 페이지에 코드를 넣으면 tpl_products_all_default.php가 잘 실행된다고 말할 수 있습니다. 사용자 정의 스크립트에서 쿼리를 실행할 수 있으려면 어떻게해야합니까? 이 루트 디렉토리에 배치하는 사용자 정의 파일이 필요로 나는 그것이 최적의 설정이 아니다 인정한다하더라도젠 카트를 사용하여 사용자 정의 스크립트에서 db에 쿼리하는 방법은 무엇입니까?

$sql = "select products_model from products where products_model = :productMdel:"; 
$sql = $db->bindVars($sql, ':productMdel:', 'C021', 'string'); 
$result = $db->Execute($sql); 

if ($result->RecordCount() > 0) { 
    echo 'Model number = ' . $result->fields['products_model']; 
} else { 
    echo 'Sorry, no record found for product number ' . $theProductId; 
} 
+1

글쎄, 뷰 레이어 (템플릿)에 넣을 수는 없습니다. 필자는 Zen이나 osCommerce를 한번도 사용하지 않았지만 문서를 검색하여 플러그인, 모듈 또는 구성 요소를 개발하는 방법을 찾았습니다. 그게 일반적으로 당신에게 ** ** 그것에 대해 어떻게해야하는지에 대한 기본을 제공 할 것입니다. – prodigitalson

답변

2

난 당신에 대한 답이있을 수 있습니다.

사용자 정의 파일은 루트 (/your_custom_file.php)는 다음과 $의 DB에 접근 할 필요 다음 문을 수행 할 수 있습니다에 배치되는 경우 :

require('includes/application_top.php'); 

이 모두 초기화됩니다 또한 자동 로더의 값을 스핀하고 각 스크립트를 포함하는 includes/initsystem.php를 호출하십시오. auto_loader는 includes/auto_loaders/config.core.php에서 볼 수 있습니다. v1.5에서는 81-82 행에 init_database.php 스크립트가 포함되어 있음을 알 수 있습니다. init_database.php 파일은 마침내 $ db를 초기화합니다.

처음에는 동일한 문제가 발생하여 원래 사용자 지정 파일을 /my_module_extensions/my_file.php와 같은 사용자 지정 디렉터리에 추가했기 때문에이 설치가 거의 필요하지 않았습니다. application_top.php는 상대 경로로 모든 것을로드하는 것으로 보이므로 루트가 아닌 다른 디렉토리에서 실행할 때 실패합니다.

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

편집 : 처음에는 관리자 맞춤 설정에 대해 이야기하고 있다고 생각했습니다. 나는 이것을 공적인 측면과 관련시키기 위해 다시 한번 언급했다. 관리 콘솔을 확장해야하는 경우 이는 관리자 측에서도 작동합니다.