2016-09-27 2 views
0

더 쉬운 A/B 테스트를 허용하기 위해 코드에서 약간의 수정을 시도하고 있습니다.A/B 테스트에서 Smarty 템플릿을 어떻게 사용할 수 있습니까?

내가 어떻게 든

  1. 이 가지고있는/템플릿 디렉토리에 내 정규 코드를 가질 수 있는지 알고 싶습니다/템플릿/_abtests /뿐만 아니라 동일한에 따라 아래에있는 A/B 코드 계층 구조를 정규 코드로 사용합니다. 예를 들어 ... 순이 테스트는 '/templates/foo.tpl'와 같은 파일을 덮어 쓰기, 대신 '/templates/_abtests/testfoo/foo.tpl'

나는 템플릿 디렉토리 때 변경 시도를 사용할 수 있습니다 시험에서. 표시 메서드를 호출하기 직전에 사용자가 테스트에 있는지 확인한 다음 해당하는 경우 template_dir을 적절하게 설정합니다. 먼저 'ab'디렉토리가있는 배열을 할당 한 다음 기본값을 할당합니다. Smarty2를 사용하고 있습니다.

이 문제는 첫 번째 인스턴스를 캐시에 저장하고이를 기본 및 ab 테스트 케이스의 템플릿으로 사용한다는 것입니다. 즉 : 나는 테스트 버킷에 나를 강제로 매개 변수가 있지만 템플릿이 동일합니다.

이것을 수행하는 방법에 대한 의견이 있으십니까? 목표는 템플리트에 템플릿 훅 (if/else)을 추가 할 필요가 없다는 것입니다. 간단한 템플릿/파일 포함을 통해이를 달성하십시오.

+0

문제는 유식이 템플릿을 캐시이다? –

+0

네. 난 그렇게 생각 . – Sam

답변

0

내 문제의 해결책은 템플릿을 폴더에 넣을 수 있다고 생각합니다. 예 :/templates/base /,/templates/test_foo/등. "내 template_dir 설정에서 어떤 테스트를 기반으로 배열을 설정하십시오.

이전에 모바일/이 솔루션에 대해 잊어 버렸습니다.

나는 smarty_template 클래스를 확장하고 template_dir의를 변경하려면 표시 방법을 대체 할 수 있습니다. 먼저 테스트 디렉토리를 추가.

관련 문제