2015-04-03 3 views
0

У меня около 20 или около того продуктов, которым необходимо загрузить определенный шаблон продукта, а все остальные загружают по умолчанию. Вот код, который у меня есть. Я не могу понять, как включить несколько идентификаторов продукта. Любая помощь будет принята с благодарностью.Загрузить шаблон продукта на основе идентификатора продукта

if ($this->request->get['product_id'] == 200000864) { 
    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/customproduct.tpl')) { 
     $this->template = $this->config->get('config_template') . '/template/product/customproduct.tpl'; 
    } else { 
     $this->template = '/template/product/customproduct.tpl'; 
    } 
} else { 
    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) { 
     $this->template = $this->config->get('config_template') . '/template/product/product.tpl'; 
    } else { 
     $this->template = '/template/product/customproduct.tpl'; 
    } 
} 
+0

Жесткое кодирование это действительно не очень хорошая идея. Вам лучше использовать что-то [подобное этому расширению] (http://mos.so/8056) –

+0

Использовать форматирование кода. – JodyT

+0

Спасибо за предложение, но я не хочу платить 50 долларов за расширение. Нет способа жесткого кодирования правильно? – nfgkid

ответ

0

OpenCart 2,0

От

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) { 
       $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/product/product.tpl', $data)); 
      } else { 
       $this->response->setOutput($this->load->view('default/template/product/product.tpl', $data)); 
      } 

Для

switch ($this->request->get['product_id']) { 
    case 1: 
     $this->response->setOutput($this->load->view('default/template/product/product1.tpl', $data)); 
     break; 
    case 2: 
     $this->response->setOutput($this->load->view('default/template/product/product2.tpl', $data)); 
     break; 

     //... 
     //... 
     //... 
    case 200000864: 
     $this->response->setOutput($this->load->view('default/template/product/product200000864.tpl', $data)); 
     break; 
    default: 
     $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/product/product.tpl', $data)); 
    } 

Вы хотите или что-то еще

+0

Я немного запутался относительно того, куда должны идти идентификаторы продукта. Мои извинения. Я не очень хорошо знаком с PHP. – nfgkid

+0

Идентификатор продукта идет в «случае :» и пользовательский шаблон будет в этом случае утверждением. Скажите, если вы не понимаете – StackQA

Смежные вопросы