SilverStripe 3.1 - XAMPP로 포팅한 후 $BaseDir이 잘못됨
-
21-12-2019 - |
문제
내 웹서버에서 완전히 작동하는 SS3.1 페이지를 이식한 후 http://mydomain.de
내 로컬에 설치된 XAMPP에 http://intranet/silverstripe
이제 SS에서 기본 디렉토리가 잘못되었다는 문제가 있습니다.웹서버에서 가져온 오래된 것입니다. /
하지만 그럴 필요가 있어 /silverstripe
mod_rewrite가 작동하지만 $BaseDir이 반환되도록 .htaccess에서 이미 변경했습니다. /
SS 사이트 검색을 사용하려고 하면 다음으로 리디렉션됩니다. home/SearchForm?Search=
대신에 silverstripe/home/SearchForm?Search=
양식을 제출한 후.
누군가 이 문제를 해결하도록 도와주실 수 있나요?
미리 감사드립니다
편집하다:내 템플릿에서 $SiteSearch를 호출합니다.그러나 이 함수는 데이터 객체를 통해서도 검색하도록 Page.php에서 수정되었습니다.
public function results($data, $form){
$results = $form->getResults();
$query = htmlspecialchars($data['Search'], ENT_QUOTES,'UTF-8');
$objects = ListingObject::get()->where("MATCH (Title, Link, Company, Category) AGAINST ('$query' IN BOOLEAN MODE)");
$results->merge($objects);
$data['Results'] = $results;
$data['Title'] = _t('SearchForm.SearchResults', 'Search Results');
$data['Query'] = $query;
return $this->customise($data)->renderWith(array('Page_results','Page'));
}
이 코드가 없으면 작동하지 않습니다
해결책:미안해요.문제를 발견했습니다.$SiteSearch를 호출하지 않았습니다. 페이지를 생성할 때 양식을 편집해야 해서 하드코딩했기 때문입니다...그 때문에 현재 제출된 URL이 잘못되었습니다.정말 미안해요!
해결책
SS 구성에서 대체 기본 URL을 설정해야 할 수도 있습니다.이것을 당신의 config.yml
:
Director:
alternate_base_url: '/silverstripe'
다른 팁
$BaseDir
해야한다 $BaseHref
귀하의 템플릿에서.
제휴하지 않습니다 StackOverflow