Jump to content

blocklayered.php добавить обновление описания категории


Recommended Posts

Объяснять для чего это нужно долго...

 

Нужно чтобы описание категории лежало в другом tpl файле но выводилось как обычно при помощи {include file="$tpl_dir./opicanie.tpl"}

 

И при фильтре товаров или постраничной навигации в товарах описание категории должно обновляться тоже, но оно не обновляется потому что чтобы обновить opicanie.tpl в шаблон нужно передать параметр $description для конкретной категории...

 

Что я пытался сделать, я у верен что я близок, но не знаю где ошибка, в blocklayered.php в функции ajaxCall() я добавляю:

 

    $categories = Db::getInstance()->ExecuteS('
	 SELECT id_category, id_parent, cl.`description`
	 FROM '._DB_PREFIX_.'category
	 LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.(int)$id_lang.')
	 ORDER BY id_parent ASC, position ASC');

    $id_category = (object)array('id' => (int)Tools::getValue('id_category_layered', 1));

 foreach ($categories as $id_category)
 {
  $category = new Category((int)($id_category));
 };

 $description = $category['description'];
 $smarty->assign(

  array(
'description' => $description,
  )
 );

 

Но где то тут ошибка, в общем мне нужно в $description передать описание конкретной категории, может подскажет кто что я делаю не так -/

Link to comment
Share on other sites

Объяснять для чего это нужно долго...

 

Нужно чтобы описание категории лежало в другом tpl файле но выводилось как обычно при помощи {include file="$tpl_dir./opicanie.tpl"}

 

И при фильтре товаров или постраничной навигации в товарах описание категории должно обновляться тоже, но оно не обновляется потому что чтобы обновить opicanie.tpl в шаблон нужно передать параметр $description для конкретной категории...

 

Что я пытался сделать, я у верен что я близок, но не знаю где ошибка, в blocklayered.php в функции ajaxCall() я добавляю:

 

	$categories = Db::getInstance()->ExecuteS('
	 SELECT id_category, id_parent, cl.`description`
	 FROM '._DB_PREFIX_.'category
	 LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.(int)$id_lang.')
	 ORDER BY id_parent ASC, position ASC');

	$id_category = (object)array('id' => (int)Tools::getValue('id_category_layered', 1));

 foreach ($categories as $id_category)
 {
  $category = new Category((int)($id_category));
 };

 $description = $category['description'];
 $smarty->assign(

  array(
'description' => $description,
  )
 );

 

Но где то тут ошибка, в общем мне нужно в $description передать описание конкретной категории, может подскажет кто что я делаю не так -/

 

Что в конечном варианте нужно?

Link to comment
Share on other sites

Было бы проще конечно с отладкой делать все, а не на ощупь но я хз как вывести print переменной из php в шаблон smarty...

Link to comment
Share on other sites

Макс, мне нужно чтобы описание категории было только на главной странице категории! И это сделать легко если бы не фильтр, $p обновляется только при обновлении страницы полностью, а blocklayered обновлять аяксом только <ul></ul> с товарами, пагинацию... и значение $p меняется только там в нутри, можно и там сделать чтобы при $p >1 выводился скрипт скрывающий описание категории, но мне нужно чтобы описание категории фактически из шаблона пропало при $p > 1, а при $p < 1 появлялось по этому засунул описание категории в отдельный файл и вывел его через include и мне нужно чтобы при фильтре в этом файле обновлялась переменная $p (она собственно и обновляется) и скрывала или открывала описание категории но при попытке фильтра мне пишет что $description undefined...кароче blocklyered не передает этот параметр в шаблон при фильтре, по этому мне нужно вывести туда описание категории.

Link to comment
Share on other sites

можно реализовать дополнительным запросом ajax и $().html()

 

Макс, мне нужно чтобы описание категории было только на главной странице категории! И это сделать легко если бы не фильтр, $p обновляется только при обновлении страницы полностью, а blocklayered обновлять аяксом только <ul></ul> с товарами, пагинацию... и значение $p меняется только там в нутри, можно и там сделать чтобы при $p >1 выводился скрипт скрывающий описание категории, но мне нужно чтобы описание категории фактически из шаблона пропало при $p > 1, а при $p < 1 появлялось по этому засунул описание категории в отдельный файл и вывел его через include и мне нужно чтобы при фильтре в этом файле обновлялась переменная $p (она собственно и обновляется) и скрывала или открывала описание категории но при попытке фильтра мне пишет что $description undefined...кароче blocklyered не передает этот параметр в шаблон при фильтре, по этому мне нужно вывести туда описание категории.

Link to comment
Share on other sites

Макс да все можно то, я же помочь прошу, а не весьма поверхностного ответа на просьбу, ява скрипт меня не интересует, не это главное, главное это в указанном месте вывести переменную $category которая будет передавать description, скрипт то я сам настрою...я сейчас пока домой ехал понял что не правильно пытался сделать, надо было не $description выводить а $category, там же в шаблоне идет $category->description

Edited by Kerm (see edit history)
Link to comment
Share on other sites

Макс да все можно то, я же помочь прошу, а не весьма поверхностного ответа на просьбу, ява скрипт меня не интересует, не это главное, главное это в указанном месте вывести переменную $category которая будет передавать description, скрипт то я сам настрою...я сейчас пока домой ехал понял что не правильно пытался сделать, надо было не $description выводить а $category, там же в шаблоне идет $category->description

 

Тут скриптом проще наверно...напиши в скайп подробно, придумаем, а то я не догнал немного.

Link to comment
Share on other sites

×
×
  • Create New...