Вы не зашли.
прописываешь {{ category.info }} в news.table.tpl , добавляешь свой код в Информационный блок, отображаемый при заходе в категорию, и все работает.
у меня структура дизайна такая что если я там подключу фильтр, то не в то место по структуре оно станет( по этому и пишу что нужно именно в main.tpl в нужном месте
news.table.tpl
Мне нужно сделать проверку и вывод в main.tpl через if else + в плагине xfilter
пробуй, точно не скажу , переменная{{ category.info }}
В main.tpl ничего по тегу {{ category.info }} не выводит(
при добавлении категории в админке есть
Информационный блок, отображаемый при заходе в категорию
Спасибо. Он будет выводить такой код ?
<div class="filters">
<div class="container">
{xfilter}
<div class="clear"></div>
</div>
</div>
И каким тегом можно вывести из того поля информацию что я добавлю?
Получается что нужен алгоритм такой: в main.tpl я задаю проверку что нужно отображать текст только на главной категории и всех ее подкатегориях(iscategory и т.д), а в шаблоне плагина фильта, мне нужно узнать на какой странице находится пользователь, и если категория совпадает с той что в main то выводить мой текст.
Я пробовал прописывать проверку вот так
or isCategory(getCategoryTree(2).1.id) or isCategory(getCategoryTree(2).2.id) or isCategory(getCategoryTree(2).3.id) or isCategory(getCategoryTree(2).4.id) or isCategory(getCategoryTree(2).5.id) or isCategory(getCategoryTree(2).6.id) or isCategory(getCategoryTree(2).7.id) or isCategory(getCategoryTree(2).8.id) or isCategory(getCategoryTree(2).9.id) or isCategory(getCategoryTree(2).10.id) or isCategory(getCategoryTree(2).11.id) or isCategory(getCategoryTree(2).12.id) or isCategory(getCategoryTree(2).13.id) or isCategory(getCategoryTree(2).14.id) or isCategory(getCategoryTree(2).15.id) or isCategory(getCategoryTree(2).16.id) or isCategory(getCategoryTree(2).17.id) or isCategory(getCategoryTree(2).18.id) or isCategory(getCategoryTree(2).19.id) or isCategory(getCategoryTree(2).20.id) or isCategory(getCategoryTree(2).21.id)
, но все равно дублирует
{% for entry in getCategoryTree(category.id) %} {% if (entry.level == (category.level+1)) %} {xfilter} {% endif %} {% endfor %}
Так дублирует фильтр столько раз сколько есть подкатегорий((
Подскажите кто знает пожалуйста
информация статичная?, или меняется
я делаю условие показа допустим тега {xfilter}, то бишь чтобы он отображался только на главной категории и всех ее подкатегориях
там выводит список всех подкатегорий, я эту функцию знаю, но как я ее применю к if условии?(на проверку страница подкатегории или нет)
Здравствуйте! Подскажите пожалуйста, какой проверкой можно отображать информацию только в главной категории и всех ее подкатегориях? т.к. у меня сейчас такое условие:
{% if isCategory('categorymain') or isCategory('podcategory') %} , в итоге приходится прописывать все подкатегории вручную этой главной категории. Как это упростить ? подскажите пожалуйста, чтобы я мог написать допустим так {% if isCategory('categorymain') or isPODCategory('categorymain') %} и информация была только в категории categorymain и всех ее подкатегориях. Заранее спасибо за помощь!
Здравствуйте! Подскажите пожалуйста, как исправить работу сохранения значений из доп поля select с мультивыбором значения? я сохраняю и мне пишет ошибку... Вот скрин как я создал само поле http://skrinshoter.ru/s/050217/Wg6dhIL2?a Заранее спасибо!
Проблему решил - нужно обновить счетчик новостей в управлении бд.
Здравствуйте! Как работает пагинация страниц? я выставляю 5 новостей на страницу, новостей всего 10, отображает 2 страницы, а на каждой странице по 3 новости, то бишь 4 еще куда-то делось...Как исправить? подскажите пожалуйста
Все получилось с xf_encode, спасибо большое!
Проверять все ваши решения нет возможности. По всей видимости ошибка где-то в сериализации данных для поля xfields и/или в экранировании.
Если вы пишите код внутри плагина, то:
1) запросы к БД делаются через объект класса mysql/_mysqli, который находится в глобальной переменной $mysql, в данном случае для insert'a/update'a есть метод query. Префикс таблиц задается константой prefix, экранирование данных в поле идет через функцию db_squote.
2) для сериализации доп.полей xfields используется функция xf_encode, которая принимает на вход массив, ключи - названия полей, значения - значения полей.Пример:
$mysql->query("update " . prefix . "_news set xfields = " . db_squote(xf_encode($xdata)) . " where id = " . db_squote($newsID));
Спасибо, а если без плагина то не выйдет? я заношу данные в поле xfields с переменной $xfield , я там сделал ручной вывод кол. строк и т.д, но не помогает это...
Здравствуйте! Пытаюсь загрузить новости в бд с помощью php, новости в бд сохраняются и в админке появляются, но, во вкладке Дополнительно(где доп поля), ничего не отображается, а начинает отображаться после того как я нажму Сохранить в редактировании новости. Своим sql запросом доп поля мне нужные тоже записываю и как нужно, но они не отображаются в итоге на сайте и в админке, а если я еще раз сохраняю через админку то мои доп поля не сохраняются с sql запроса, а только если после сохранения еще раз введу их вручную и нажми Сохранить. Помогите пожалуйста исправить проблему с загрузкой инфы в доп поля, заранее спасибо!
Мой код:
foreach ($news->channel->item as $item)
{
preg_match('@src="([^"]+)"@', $item->description, $match);
$parts = explode('<font size="-1">', $item->description);
$feeds[$i]['title'] = (string) $item->title;
$feeds[$i]['link'] = (string) $item->link;
$feeds[$i]['image'] = $match[1];
$feeds[$i]['site_title'] = strip_tags($parts[1]);
$feeds[$i]['story'] = strip_tags($parts[2]);
$links = $feeds[$i]['link'];
$pudate= $items[$i]['pubdate'];
$besc = $feeds[$i]['story'];
$titled = $feeds[$i]['title'];
$time = 1485277444;
$image = $feeds[$i]['image'];
$titlesite = $feeds[$i]['site_title'];
$rand=rand();
$lenlink = mb_strlen($links);
$lenimg = mb_strlen($image);
$lensite = mb_strlen($titlesite);
$xfield = <<<HTML
SER|a:3:{s:8:"newslink";s:{$lenlink}:"{$links}";s:9:"imagenews";s:{$lenlink}:"{$image}";s:9:"sitetitle";s:{$lensite}:"{$titlesite}";}
HTML;
$sql = "INSERT INTO `news`(`id`, `postdate`, `author`, `author_id`, `title`, `content`, `alt_name`, `mainpage`, `approve`, `views`, `favorite`, `pinned`, `catpinned`, `flags`, `num_files`, `num_images`, `editdate`, `catid`, `description`, `keywords`, `rating`, `votes`, `similar_status`, `allow_com`, `com`, `nsched_activate`, `nsched_deactivate`, `xfields`, `xfields_city`, `xfields_phone`, `xfields_address`, `xfields_datestart`, `xfields_dateend`, `xfields_scheduletime`, `xfields_contactname`, `xfields_priceyp`, `xfields_opennow`, `xfields_imgnews`, `xfields_price`, `xfields_feature`, `xfields_newslink`, `xfields_imagenews`, `xfields_sitetitle`) VALUES ('','$time','admin','1','$titled','$besc','$rand','1','1','0','1','1','1','2','0','0','1485277444','1','','','0','0','0','0','0','','','$xfield','','','','','','','','','','','','','$links', '$image', '$titlesite')";
// connect to the database server
$conn = mysql_connect("localhost", "userdb", "passdb");
// select the database to connect to
mysql_select_db("db", $conn);
$result = mysql_query($sql, $conn);
$i++;
}
dreamms пишет:{% for row in request.catid %}
{% if row == '2' %}
Это иван
{% else %}
это не иван
{% endif %}
{% endfor %}вот так работает, но выводит есть или нет столько раз, сколько есть get запросов catid, нельзя выводить только 1 раз вне зависимости сколько get запросов задано? чтобы поиск был по всем, но выводилось 1 раз. Или это фантастика?
В общем свою проблему решил так - if request.catid.1 == entry.id or request.catid.2 == entry.id
Если есть способ не писать вручную request.catid.1 - 2- 3 и т.д, то подскажите пожалуйста альтернативу
{% for row in request.catid %}
{% if row == '2' %}
Это иван
{% else %}
это не иван
{% endif %}
{% endfor %}вот так работает, но выводит есть или нет столько раз, сколько есть get запросов catid, нельзя выводить только 1 раз вне зависимости сколько get запросов задано? чтобы поиск был по всем, но выводилось 1 раз. Или это фантастика?
В общем свою проблему решил так - if request.catid.1 == entry.id or request.catid.2 == entry.id
{% for row in request.catid %}
{% if row == '2' %}
Это иван
{% else %}
это не иван
{% endif %}
{% endfor %}
вот так работает, но выводит есть или нет столько раз, сколько есть get запросов catid, нельзя выводить только 1 раз вне зависимости сколько get запросов задано? чтобы поиск был по всем, но выводилось 1 раз. Или это фантастика?
В core.php, блок // - Global variables [by REFERENCE], добавить:
$twig->addGlobalRef('request', $_REQUEST);
Использовать {{ debugValue(request) }}
Спасибо! Подскажите пожалуйста, я вывожу допустим так {{ request.name }} - и если есть get запрос name то отображает его значение как нужно, а как вывести значение поля catid если у меня get запрос такого вида - site.com/catid[]=1&catid[]=2&name=ivan ? Мне нужно из catid[]=1&catid[]=2&name=ivan такого запроса сделать поиск числа проверкой как я писал выше, допустим если в массиве get запроса catid есть число - 2 , то выводить информацию, можно ли как-то поиск в твиге задать или нужно тоже костыль писать? catid[]=1&catid[]=2&name=ivan
Здравствуйте! Можно ли как-то получить значение get запроса в шаблоне? мне нужно сделать такую проверку:
{% $_GET['name'] == 'ivan' %}
Это иван
{% else %}
это не иван
{% endif %}
Заранее спасибо за подсказку!
dreamms пишет:Здравствуйте! Подскажите пожалуйста, как создать переменную свою в любом модуле и подключить к ней тег в шаблон? Пишу так, но не срабатывает:
$echo = "произвольный текст";
$tVars['txt'] = $echo;
$template['vars']['mainblock'] .= $xt->render($tVars);в шаблоне {txt} , но не выводит, честно говоря не пойму синтаксиса , в dle я это проще делал, тут что-то не выходит( помогите пожалуйста, заранее спасибо!
Во вложении минимальный плагин, который создает переменную {{ echo_test_var1 }} в main.tpl.
Спасибо
/category?votes_from=1&votes_to=5
array('DATA', 'votes', 'BETWEEN', array((int)$_REQUEST['votes_from'], (int)$_REQUEST['votes_to']))
Что-то не хочет работать такой вариант, и я вообще не пойму почему толком не работают выборки? Допустим, пишу такой код
if ($_REQUEST['cena']) {
array_push($filter, array('DATA', 'xfields_cena', 'BETWEEN', array(5, 100)));
}
И нифига не сортирует от 5 до 100, хотя есть новости с ценой и 6, и 50 и должно их показывать, и не показывает...
Если кто-то захочет сделать фильтр новостей Есть или Нету изображений, то в xfilter.php добавьте такую проверку:
if ($_REQUEST['img'] == "on") {
array_push($filter, array('DATA', 'xfields_imgnews', '>', '0'));
}
В итоге будет работать фильтрация так site.com/category?img=on - покажет новости только у которых есть картинки, создайте только доп поля под картинки imgnews допустим