Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.
Всего найдено: 1688
-
14 сентября
-
Наверное, вам сюда: https://www.diafan.ru/dokument/full-manual/examples/template-tag/
Т.е. show_block_rek такого шаблонного тега не существует, поэтому для начала его нужно создать. -
-
-
-
20 февраля 2019 г.
-
Не.. Я вижу, что добавляется характеристика с зависимостью от цены, но в коробке такого типа и чтобы можно было зависимость от цены указать, нет. Следовательно это просто создан новый тип характеристики, что можно прописать прямо через БД.
А вот что еще нужно допилить - это вопрос. -
-
-
-
14 августа 2017 г.
-
Почему?
Выше вы привели код, в которомКод//шапка таблицы
echo '<table cellpadding="5" bgcolor="#eeeeee">
<thead><tr>
<th bgcolor="#f9f9f9"></th>
<th bgcolor="#f9f9f9">'.$this->diafan->_('Наименование товара').'</th>';
if(! empty($result["measure_unit"]))
{
echo '<th bgcolor="#f9f9f9">'.$this->diafan->_('Единица измерения').'</th>';
}
echo '<th bgcolor="#f9f9f9">'.$this->diafan->_('Кол-во').'</th>
<th bgcolor="#f9f9f9" nowrap>'.$this->diafan->_('Цена').'('.$result["currency"].')</th>';
if($result["discount"])
{
echo '<th bgcolor="#f9f9f9" nowrap>'.$this->diafan->_('Скидка').'('.$result["currency"].')</th>';
echo '<th bgcolor="#f9f9f9">'.$this->diafan->_('Скидка').'(%)</th>';
}
echo '<th bgcolor="#f9f9f9" nowrap>'.$this->diafan->_('Сумма').'('.$result["currency"].')</th>
</tr></thead><tbody>';
Собственно, вы так же вставляете свой код, подставляя в нужную ячейку нужный параметр.
<table> и в Африке <table>, независимо от того, какой у вас файл php или html -
-
-
-
16 августа 2017 г.
-
У вас в коде
Кодwidth="'.$row["img"]["width"].'" height="'.$row["img"]["height"].'
Пишите размеры прямо сюда.
Цитата1.Название товара, если не умещается уходит под картинку, знает кто как поправить?
Раскидайте по разным ячейкам или добавьте обтекание float: left;
Цитата2.Цена в столбцах переносится, нужно прописывать nowrap? Где лучше сделать?
Думаю, что если уменьшить картинку, то это может и не понадобиться. -
-
-
-
21 октября 2018 г.
-
Добавлю решение для тех версий, где ids не работает, а обновиться нет возможности.
Костыль, конечно, но для разового использования пригодится.
Создаем на сайте пустую категорию, обзываем ее как хотим и ни в какие менюхи не добавляем.
В нужном товаре указываем эту категорию в качестве дополнительной.
Вставляем в нужном месте код:Код<insert name="show_block" module="shop" count="1" cat_id="79" images="1">
Указываем cat_id="79" номер этой новой категории.
Получаем вывод товара в любом месте.
П.С. Мне понадобилось добавить товар на страницу с новостью. Вставила прямо через текстовый редактор. -
-
-
-
11 мая 2018 г. , редакция: 1525998182
-
Подниму древнюю темку.
Проблема в чем: сайт древней версии 5.3. Обновлять сейчас не вариант, потому что автоматом сделать не получится, а переносить вручную товары и запиленные изменения - адская работа.
Выводятся результаты поиска обычным списком.
Кодif (! empty($result["value"]))
{
echo '<div class="search_result">'.$this->diafan->_('Всего найдено').": <b>".$result["value"].": ".$result["count"]."</b>
<br>".$this->diafan->_('Документы: <strong>%d—%d</strong> из %d найденных', true, $result["count_start"], $result["count_finish"], $result["count"])
. '</div>';
if (!empty($result["rows"]))
{
$i = $result["count_start"];
foreach ($result["rows"] as $row){
echo '<div class="search_list">'.$i++.'. '
.'<a href="'.BASE_PATH_HREF.$row["link"].'">'.$row["name"].'</a>'
.'<br>'
.$row["snippet"]
.'<br>'
.'<a href="'.BASE_PATH_HREF.$row["link"].'">http://'.BASE_URL.'/'.$row["link"].'</a>'
.'</div>';
}
}
echo (!empty($result["paginator"]) ? $result["paginator"] : '');
}
else
{
echo '<div class="search_result">'.$this->diafan->_('Извините, слово для поиска не задано.').'</div>';
}
В последних версиях (6.0 например) добавлено перед выводом такое:
Кодif (! empty($res["class"]))
{
echo $this->get($res["func"], $res["class"], $res);
}
Благодаря чему, если находятся товары, то они отображаются так, как в категории магазина.
Собственно, это и нужно.
Сообразить, куда этот код ведет и что вызывает, не получилось. Где-то что-то упускаю.
Может быть специалисты смогут подсказать что-то по данному вопросу. Куда хоть копать? Или вообще возможно вызвать картинки вместе с названием найденного товара?
Если получится вызвать картинки, то остальное уже дорисую. Больше ничего и не нужно.
Заранее спасибо за подсказки. -
-
-
-
11 мая 2018 г.
-
Код[rows] => Array
(
[0] => Array
(
[name] => Жеребец фриз (производитель)
[url] => shop/ekzoticheskie-porody/zherebets-friz-proizvoditelROUTE_END
[snippet] => Жеребец фриз (производитель) Предлагается на продажу шикарный жеребец фризской упряжной...
[link] => shop/ekzoticheskie-porody/zherebets-friz-proizvoditel/
)
[1] => Array
(
[name] => Андалузский жеребец
[url] => shop/ekzoticheskie-porody/andaluzskiy-zherebetsROUTE_END
[snippet] => Андалузский жеребец Предлагается на продажу красивый жеребец, тип Барокко, вывезеный...
[link] => shop/ekzoticheskie-porody/andaluzskiy-zherebets/
)
[2] => Array
(
[name] => Жеребец пони-класс
[url] => shop/poni/zherebets-poni-klassROUTE_END
[snippet] => Жеребец пони-класс Предлагается на продажу изящный гнедой жеребец пони-класс (райд...
[link] => shop/poni/zherebets-poni-klass/
)
[3] => Array
(
[name] => Вороной орловец
[url] => shop/rysaki/voronoy-orlovets1032ROUTE_END
[snippet] => Вороной орловец Предлагается на продажу орловский жеребец вороной, 2010 года рождения,...
[link] => shop/rysaki/voronoy-orlovets1032/
)
)
[count] => 152
[count_start] => 1
[count_finish] => 10
[count_page] => 10
[value] => жеребец
[action] => /search/
[button] => Найти -
-
-
-
11 мая 2018 г.
-
Код/**
* Search_model
*/
class Search_model extends Model
{
/**
* Генерирует список найденных страниц
*
* @return array
*/public function show_module()
{
$search = '';
if (isset($_GET["searchword"]))
{
if (is_array($_GET["searchword"]))
{
$_GET["searchword"] = '';
}
$search = trim(htmlspecialchars(stripslashes($_GET["searchword"])));
if(empty($_SESSION["search"]) || ! in_array($_GET["searchword"], $_SESSION["search"]))
{
$_SESSION["search"][] = $_GET["searchword"];
if($count = $this->diafan->configmodules("count_history"))
{
DB::query("INSERT INTO {search_history} (created, name) VALUES (%d, '%h')", time(), $_GET["searchword"]);
if(DB::query_result("SELECT COUNT(*) FROM {search_history}") > $count)
{
DB::query("DELETE FROM {search_history} ORDER BY created ASC LIMIT 1");
}
}
}
}
$this->result = array();
if (! empty($search))
{
Customization::inc('includes/searchwords.php');
$searchwords = new Searchwords();
$search_words = $searchwords->prepare($search);
$keys = array();
$result = DB::query("SELECT id, keyword FROM {search_keywords} WHERE keyword IN ('".implode("', '", $search_words)."')");
while ($row = DB::fetch_array($result))
{
$keys[$row["keyword"]] = $row["id"];
}
DB::free_result($result);
$temp_table = false;
if($this->diafan->configmodules("search_all_word", "search"))
{
$order = '';
// обязательны все слова
$where = "";
foreach($search_words as $k => $key)
{
$where .= " INNER JOIN {search_index} AS i".$k." ON r.id=i".$k.".result_id AND i".$k.".keyword_id=".$keys[$key];
$order .= 'i'.$k.'.rating ASC, ';
}
$order .= "r.rating DESC";
}
else
{
// ищет хотя бы одно слово, сортировка по количеству найденных
$where = "INNER JOIN {search_index} AS i ON r.id=i.result_id AND i.keyword_id IN ('".implode("', '", $keys)."')";
if(count($search_words) > 1)
{
$temp_table = true;
DB::query("CREATE TEMPORARY TABLE {search_temp} (
keyword_id int(11) unsigned NOT NULL,
rating tinyint(2) unsigned NOT NULL
);");
$where .= " INNER JOIN {search_temp} AS t ON t.keyword_id=i.keyword_id";
$query = '';
foreach($search_words as $i => $word)
{
$query .= ($query ? "," : '')." (".$keys[$word].", ".(count($search_words) - $i).")";
}
DB::query("INSERT INTO {search_temp} (keyword_id, rating) VALUES".$query);
}
$order = ($temp_table ? "tmp_rating" : "r.rating")." DESC";
}
$nen = DB::query_result("SELECT COUNT(DISTINCT r.id) FROM {search_results} AS r "
.($this->diafan->_user->role_id ? " LEFT JOIN {access} AS a ON a.element_id=r.id AND a.module_name='search'" : "")
.$where." WHERE r.lang_id=%d"
." AND (r.access='0'"
.($this->diafan->_user->role_id ? " OR r.access='1' AND a.role_id=".$this->diafan->_user->role_id : '')
.")", _LANG);
////navigation//
if ($nastr = $this->diafan->configmodules("nastr", "search"))
{
$this->diafan->_paginator->nastr = $nastr;
}
$this->diafan->_paginator->page = $this->diafan->page;
$this->diafan->_paginator->navlink = $this->diafan->_route->current_link("page");
$this->diafan->_paginator->get_nav = '?searchword='.$search;
$this->diafan->_paginator->nen = $nen;
$links = $this->diafan->_paginator->get();
////navigation///
$k = ! $this->diafan->page ? 1 : ($this->diafan->page - 1) * $this->diafan->_paginator->nastr + 1;
$this->result["paginator"] = $this->diafan->_tpl->get('get', 'paginator', $links);
$count = 0;
$result = DB::query_range("
SELECT r.name, r.url, r.snippet".($temp_table ? ", SUM(t.rating) AS tmp_rating" : "")." FROM {search_results} as r "
.($this->diafan->_user->role_id ? " LEFT JOIN {access} AS a ON a.element_id=r.id AND a.module_name='search'" : "")
.$where
." WHERE r.lang_id=%d"
." AND (r.access='0'"
.($this->diafan->_user->role_id ? " OR r.access='1' AND a.role_id=".$this->diafan->_user->role_id : '')
.")"
." GROUP BY r.id ORDER BY ".$order,
_LANG, $this->diafan->_paginator->polog, $this->diafan->_paginator->nastr);
while ($row = DB::fetch_array($result))
{
$row["link"] = str_replace('ROUTE_END', ROUTE_END, $row["url"]);
$this->result["rows"][] = $row;
$count++;
}
DB::free_result($result);
$this->result["count"] = $this->diafan->_paginator->nen;
$this->result["count_start"] = $this->result["count"] ? ($this->diafan->_paginator->page - 1) * $this->diafan->_paginator->nastr + 1 : 0;
$this->result["count_finish"] = $this->result["count"] ? $this->result["count_start"] - 1 + $count : 0;
$this->result["count_page"] =
$this->diafan->_paginator->nen > $this->diafan->_paginator->nastr ?
$this->diafan->_paginator->nastr : $this->diafan->_paginator->nen;
}
$this->result["value"] = $search;
$this->result["action"] = BASE_PATH_HREF.$this->diafan->_route->link($this->diafan->cid);
$this->result["button"] = 'Найти';
return $this->result;
}
/**
* Генерирует контент для шаблонной функции: форма поиска по сайту
*
* @return array
*/
public function show_search($button)
{
$result["value"] = '';
if (isset($_GET["searchword"]))
{
if (is_array($_GET["searchword"]))
{
$_GET["searchword"] = '';
}
$result["value"] = trim(htmlspecialchars(stripslashes($_GET["searchword"])));
}
$result["action"] = BASE_PATH_HREF.$this->diafan->_route->module('search', true);
$result["button"] = $button;
return $result;
}
} -
-
-
-
11 мая 2018 г.
-
Цитатав модельке сейчас только id товара вытащим
Это получилось.
ЦитатаВставьте этот код
В общем, не цепляет.
print_r($result);
видит
Код[rows] => Array
(
[0] => Array
(
[id] => 7279
[name] => Андалузский жеребец
[url] => shop/ekzoticheskie-porody/andaluzskiy-zherebetsROUTE_END
[snippet] => Андалузский жеребец Предлагается на продажу красивый жеребец, тип Барокко, вывезеный...
[link] => shop/ekzoticheskie-porody/andaluzskiy-zherebets/
)
Но общее направление поняла. Спасибо. Еще покопаюсь...
В новых версиях выводится же как-то эта картинка. Значит модельки еще сравнить попробовать можно. -
-
-
-
11 мая 2018 г.
-
ЦитатаВы код добавили с картинками?
Да и заменила сейчас новым.
ЦитатаОшибка выводиться какая нибудь?
Ошибок не вижу.
Цитатаecho '<pre>';
print_r($images);
echo '</pre>';
Вообще ничего не вывело, кроме самого поиска.
ЦитатаЯ посмотрел документацию по диафану 5.3.
Подскажите ссылку, пожалуйста, я почему-то совсем не вижу такой документации. Да и дистрибутива оригинального нет. -
-
-
-
11 мая 2018 г.
-
За ссыль спасибо.
ЦитатаВключен режим разработчика?
Был включен. Сейчас пошла перепроверить и увы, доступа в админку нет. Придется ждать друга с сайтом, он видимо ночью понатыкал в админке и отрубил меня случайно.
В любом случае спасибо за помощь, поддержку и подпинывания в нужном направлении.
Позднее отпишусь, а пока почитаю матчасть. -
-
-
-
11 мая 2018 г.
-
Истину глаголите, Степан. Нарисовались ошибки в режиме разработчика. Действительно отключили ночью его.Код
Undefined variable: images
#1 include(/home/g/goldgadgru/traversale/public_html/modules/search/views/search.view.show.php) called at [/home/g/goldgadgru/traversale/public_html/includes/template.php:92]
#2 Template->get(show, search, Array(...)) called at [/home/g/goldgadgru/traversale/public_html/modules/search/search.php:40]
#3 Search->show_module() called at [/home/g/goldgadgru/traversale/public_html/includes/function.php:118]
#4 Theme_functions->show_module() called at [/home/g/goldgadgru/traversale/public_html/includes/function.php:57]
#5 Theme_functions->show_body(Array(...)) called at [(null):0]
#6 call_user_func_array(Array(...), Array(...)) called at [/home/g/goldgadgru/traversale/public_html/includes/parser_theme.php:216]
#7 Parser_theme->start_element(Array(...)) called at [/home/g/goldgadgru/traversale/public_html/includes/parser_theme.php:106]
#8 Parser_theme->get_function_in_theme(<?php if(!defined("DIAFAN")){include("../includes/404.php");exit();}?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www...) called at [/home/g/goldgadgru/traversale/public_html/includes/parser_theme.php:68]#9 Parser_theme->show_theme(Search) called at [/home/g/goldgadgru/traversale/public_html/includes/init.php:395]
#10 Init->start() called at [/home/g/goldgadgru/traversale/public_html/index.php:62]
Говорит, что неопределенная переменная. -
-
-
-
12 мая 2018 г.
-
Код<?php
/**
* Шаблон результатов поиска по сайту
*
* @package Diafan.CMS
* @author diafan.ru
* @version 5.3
* @license http://cms.diafan.ru/license.html
* @copyright Copyright (c) 2003-2013 OOO «Диафан» (http://diafan.ru)
*/if (!defined('DIAFAN'))
{
include dirname(dirname(dirname(__FILE__))).'/includes/404.php';
}
if (! empty($result["value"]))
{
echo '<div class="search_result">'.$this->diafan->_('Всего найдено').": <b>".$result["value"].": ".$result["count"]."</b>
<br>".$this->diafan->_('Документы: <strong>%d—%d</strong> из %d найденных', true, $result["count_start"], $result["count_finish"], $result["count"])
. '</div>';
if (!empty($result["rows"]))
{
$i = $result["count_start"];
foreach ($result["rows"] as $row)
{
$images = $this->diafan->_images->get("medium", $row["id"], "shop", 0, $row["name"], false, 2, "large");
foreach ($images as $img) {
echo '<img src="'.$img["src"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}
echo '<div class="search_list">'.$i++.'. '
.'<a href="'.BASE_PATH_HREF.$row["link"].'">'.$row["name"].'</a>'
.'<br>'
.$row["snippet"]
.'<br>'
.'<a href="'.BASE_PATH_HREF.$row["link"].'">http://'.BASE_URL.'/'.$row["link"].'</a>'
.'</div>';
}
}
echo (!empty($result["paginator"]) ? $result["paginator"] : '');
}
else
{
echo '<div class="search_result">'.$this->diafan->_('Извините, слово для поиска не задано.').'</div>';
} -
-
-
Новости
-
18 июня
-
В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
-
24 апреля
-
В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
-
12 января
-
После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке.
Блоги
-
24.04.2024
-
Выпустили новую сборку DIAFAN.CMS 7.1.4.
Блоги
-
12.01.2024
-
В данном руководстве познакомим вас с панелью управления DIAFAN.CMS