Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.
Как вывести номер заказа на странице заказ оформлен?
-
01 марта 2019 г.
-
Как вывести номер заказа на странице заказ оформлен? Вот код страницыКод<?php
/**
* Основной шаблон сайта
*
* @package DIAFAN.CMS
* @author diafan.ru
* @version 6.0
* @license http://www.diafan.ru/license.html
* @copyright Copyright (c) 2003-2016 OOO «Диафан» (http://www.diafan.ru/)
*/
if(! defined("DIAFAN"))
{
$path = __FILE__; $i = 0;
while(! file_exists($path.'/includes/404.php'))
{
if($i == 10) exit; $i++;
$path = dirname($path);
}
include $path.'/includes/404.php';
}
?><!DOCTYPE html>
<html lang="ru">
<head>
<insert name="show_include" file="head">
</head>
<body>
<!-- Шапка сайта начало-->
<insert name="show_include" file="header">
<!-- Шапка сайта конец-->
<div class="underheader">
<insert name="show_breadcrumb" current="true">
</div>
<div class="container" style="padding-bottom:40px;">
<div class="row">
<div class="col-xl-3">
<insert name="show_include" file="left_menu">
</div>
<div class="col-xl-9">
<h1 class="text-center sank">Спасибо за ваш заказ</h1>
<h2 class="pb-5 text-center number__order">Номер вашего заказа </h2>
<div class="action2 mb-4">
<div class="container">
<h2 class="newtitle">Вам может пригодиться</h2>
<insert name="show_block" images="1" module="shop" sort="rand" count="50" discount_only="true" template="index">
</div>
</div>
<div class="soc__block mb-5">
<h2 class="text-center">Присоединяйтесь к нам в соцсетях</h2>
<div class="soc__block_item">
<a href="https://vk.com/56zamkov"><i class="fa fa-vk"></i></a>
<a href="https://www.instagram.com/magazinzamok/"><i class="fa fa-instagram"></i></a>
<a href=""><i class="fa fa-odnoklassniki" aria-hidden="true"></i></a>
</div>
</div>
<h3 class="text-center other__question">Если остались вопросы звоните 8 (3532)92-44-67</h3>
</div>
</div>
</div>
<!-- Футер сайта начало-->
<insert name="show_include" file="footer">
<!-- Футер сайта конец-->
</body>
</html>
Как мне на данной странице вывести номер заказа который указывается в админке? -
-
-
-
- Андрей (R4W)
- 140
-
01 марта 2019 г.
-
Добрый день!
Смотрите в сторону modules/cart/views/cart.view.show_last_order.php -
-
-
-
01 марта 2019 г.
-
Спасибо что откликнулись. Пересмотрев весь код я не увидел не чего что указывало на номер заказа вот кодВ документации тоже не нашел(Код<?php
/**
* Шаблон вывода информации о последнем совершенном заказе
*
* @package DIAFAN.CMS
* @author diafan.ru
* @version 6.0
* @license http://www.diafan.ru/license.html
* @copyright Copyright (c) 2003-2018 OOO «Диафан» (http://www.diafan.ru/)
*/
if (! defined('DIAFAN')) {
$path = __FILE__;
while(! file_exists($path.'/includes/404.php'))
{
$parent = dirname($path);
if($parent == $path) exit;
$path = $parent;
}
include $path.'/includes/404.php';
}
//JS-layer for analitics ecommerce, dataLayer
$ecommerce_for_metrika = '<script type="text/javascript">
window.dataLayer.push({
"ecommerce": {
"purchase": {
"actionField": {
"id" : "'.$result["id"].'"
},
"products": [';
//шапка таблицы
echo '<table class="cart">
<thead><tr>
<th class="cart_img"></th>
<th class="cart_name">'.$this->diafan->_('Наименование товара').'</th>';
if(! empty($result["measure_unit"]))
{
echo '<th class="cart_measure_unit">'.$this->diafan->_('Единица измерения').'</th>';
}
echo '
<th class="cart_count">'.$this->diafan->_('Количество').'</th>';
if($result["discount"])
{
echo '<th class="cart_old_price">'.$this->diafan->_('Цена со скидкой').', '.$result["currency"].'</th>';
}
echo '
<th class="cart_price">'.$this->diafan->_('Цена').', '.$result["currency"].'</th>';
if($result["discount"])
{
echo '<th class="cart_discount">'.$this->diafan->_('Скидка').'</th>';
}
echo '<th class="cart_summ">'.$this->diafan->_('Сумма').', '.$result["currency"].'</th>
</tr></thead><tbody>';
//товары
if (! empty($result["rows"]))
{
foreach ($result["rows"] as $row)
{
$ecommerce_for_metrika .= ' {
"id": "'.$row["id"].'",
"name": "'.$row["name"].'",
"price": '.(preg_replace('/[^0-9.,]/', '', $row["price"])).',
"category": "'.$row["cat"]["name"].'",
';
echo '
<tr>
<td class="cart_img">';
if (!empty($row["img"]))
{
echo '<a href="'.BASE_PATH_HREF.$row["link"].'"><img src="'.$row["img"]["src"].'" width="'.$row["img"]["width"].'" height="'.$row["img"]["height"].'" alt="'.$row["img"]["alt"].'" title="'.$row["img"]["title"].'"></a> ';
}
echo '</td>
<td class="cart_name">';
if(! empty($row["cat"]))
{
echo '<a href="'.BASE_PATH_HREF.$row["cat"]["link"].'">'.$row["cat"]["name"].'</a> / ';
}
echo '<a href="'.BASE_PATH_HREF.$row["link"].'">'.$row["name"];
if(! empty($row["param"]))
{
foreach($row["param"] as $name => $value)
{
echo ', '.$name.': '.$value;
$ecommerce_for_metrika .= '"variant": "'.$value.'",
';
}
}
if(! empty($row["article"]))
{
echo '<br/>'.$this->diafan->_('Артикул').': '.$row["article"];
}
echo '</a>';
if(! empty($row["additional_cost"]))
{
foreach($row["additional_cost"] as $a)
{
echo '<br>'.$a["name"];
if($a["summ"])
{
echo ' + '.$a["format_summ"].' '.$result["currency"];
}
}
}
echo '</td>';
if(! empty($result["measure_unit"]))
{
echo '<td class="cart_measure_unit">'.($row["measure_unit"] ? $row["measure_unit"] : $this->diafan->_('шт.')).'</td>';
}
echo '
<td class="js_cart_count cart_count">'.$row["count"].'</td>';
if($result["discount"])
{
echo '<td class="cart_price">'.$row["price"].'</td>';
echo '<td class="cart_old_price">'.($row["old_price"] ? $row["old_price"] : '').'</td>';
echo '<td class="cart_discount">'.($row["discount"] ? $row["discount"] : '').'</td>';
}
else
{
echo '<td class="cart_price">'.$row["price"].'</td>';
}
echo '
<td class="cart_summ">'.$row["summ"].'</td>
</tr>';
$ecommerce_for_metrika .= '"quantity": '.$row["count"].'
},';
}
$count_clm = 0;
if(! empty($result["discount"]))
{
$count_clm += 2;
}
if(! empty($result["measure_unit"]))
{
$count_clm++;
}
// общая скидка от объема
if(! empty($result["discount_summ"]))
{
echo '
<tr>
<td class="cart_discount_total_text" colspan="'.($count_clm + 4).'" ></td>
<td class="cart_discount_total">';
if(! empty($result["discount_summ"]))
{
echo $this->diafan->_('Скидка').' '.$result["discount_summ"];
}
echo '</td>
</tr>';
}
//итоговая строка для товаров
echo '
<tr class="cart_last_tr">
<td class="cart_total" colspan="2">'.$this->diafan->_('Итого за товары').'</td>';
if(! empty($result["measure_unit"]))
{
echo '<td></td>';
}
echo '
<td class="cart_count">'.$result["count"].'</td><td class="cart_price"></td>';
if($result["discount"])
{
echo '<td class="cart_old_price"></td>';
echo '<td class="cart_discount"></td>';
}
echo '
<td class="cart_summ">';
if(! empty($result["old_summ_goods"]))
{
echo '<div class="cart_summ_old_total">'.$result["old_summ_goods"].'</div>';
}
echo $result["summ_goods"];
echo '</td>
</tr>';
//дополнительно
if (! empty($result["additional_cost"]))
{
echo '<tr><th colspan="'.($count_clm + 5).'" class="cart_additional_title">'.$this->diafan->_('Дополнительно').'</th></tr>';
foreach ($result["additional_cost"] as $row)
{
if ($row['amount'])
{
$row['text'] .= '<br>'.$this->diafan->_('Бесплатно от суммы').' '.$row['amount'].' '.$result["currency"];
}
echo '
<tr>
<td class="cart_additional" colspan="'.($count_clm + 3).'">
<div class="cart_additional_cost_name">'.$row["name"].'</div>
</td>
<td class="cart_price">'.($row['percent'] ? $row['percent'].'%' : $row["price"]).'</td>
<td class="cart_summ">'.$row["summ"].'</td
</tr>';
}
}
//способы доставки
if (! empty($result["delivery"]))
{
echo '<tr><th colspan="'.($count_clm + 5).'" class="cart_delivery_title">'.$this->diafan->_('Способ доставки').'</th></tr>';
echo '
<tr>
<td colspan="'.($count_clm + 4).'" class="cart_delivery">
<div class="cart_delivery_name">'.$result["delivery"]["name"].'</div>
</td>
<td class="cart_summ">'.$result["delivery"]["summ"].'</td>
</tr>';
}
}
$ecommerce_for_metrika .= ' ]
}
}
});
</script>';
//итоговая строка таблицы
echo '
<tr class="cart_last_tr">
<td class="cart_total" colspan="2">'.$this->diafan->_('Итого к оплате').'</td>';
if(! empty($result["measure_unit"]))
{
echo '<td></td>';
}
echo '<td class="cart_count"></td><td class="cart_price"></td>';
if($result["discount"])
{
echo '<td class="cart_old_price"></td>';
echo '<td class="cart_discount"></td>';
}
echo '<td class="cart_summ">'.$result["summ"];
if(! empty($result["tax"]))
{
echo '<br>'.$this->diafan->_('в т. ч. %s', true, $result["tax_name"]).'<br>'.$result["tax"];
}
echo '</td>
</tr></tbody>
</table>';
//-------js для счетчиков, передающих информацию о продажах
echo '<script type="text/javascript">
window.dataLayer = window.dataLayer || [];
</script>';
echo $ecommerce_for_metrika;
//--------js для счетчиков, передающих информацию о продажах
foreach($result["param"] as $param)
{
echo '<div class="cart_param">'.$param["name"];
if ($param["value"])
{
echo ': <span class="cart_param_value">';
if($param["type"] == "attachments")
{
foreach ($param["value"] as $a)
{
if ($a["is_image"])
{
if($param["use_animation"])
{
echo ' <a href="'.$a["link"].'" rel="prettyPhoto[gallery'.$result["id"].'ab]"><img src="'.$a["link_preview"].'"></a> <a href="'.$a["link"].'" rel="prettyPhoto[gallery'.$result["id"].'ab_link]">'.$a["name"].'</a>';
}
else
{
echo ' <a href="'.$a["link"].'"><img src="'.$a["link_preview"].'"></a> <a href="'.$a["link"].'">'.$a["name"].'</a>';
}
}
else
{
echo ' <a href="'.$a["link"].'">'.$a["name"].'</a>';
}
}
}
elseif($param["type"] == "images")
{
foreach ($param["value"] as $img)
{
echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}
}
elseif (is_array($param["value"]))
{
foreach ($param["value"] as $p)
{
if ($param["value"][0] != $p)
{
echo ', ';
}
if (is_array($p))
{
if ($p["link"])
{
echo '<a href="'.BASE_PATH_HREF.$p["link"].'">'.$p["name"].'</a>';
}
else
{
echo $p["name"];
}
}
else
{
echo $p;
}
}
}
else
{
echo $param["value"];
}
echo '</span>';
}
echo '</div>';
if($param["text"])
{
echo '<div class="cart_param_text">'.$param["text"].'</div>';
}
} -
-
-
-
- Dmitry (weissfl)
- 161
-
01 марта 2019 г.
-
В этом файле номер заказа можно вывести вот так $result['id'])
-
-
-
-
01 марта 2019 г.
-
прошу прощения за назойливость. Я сделал в своем шаблоне вот таки у меня выходит ошибкаКод
<h2 class="pb-5 text-center number__order">Номер вашего заказа.<?php echo $result['id'];?></h2>
-
-
-
-
- Dmitry (weissfl)
- 161
-
01 марта 2019 г.
-
В каком шаблоне вы это сделали?
-
-
-
-
01 марта 2019 г.
-
в самом первом сообщении представлен код шаблона. Но завардампив массив result я понял что это было не правильно). Он возвращает код всей страницы. Сейчас добавил в modules/cart/views/cart.view.show_last_order.php, http://56zamkov.ru/shop/cart/done/#error1.Код<?php
/**
* Шаблон вывода информации о последнем совершенном заказе
*
* @package DIAFAN.CMS
* @author diafan.ru
* @version 6.0
* @license http://www.diafan.ru/license.html
* @copyright Copyright (c) 2003-2018 OOO «Диафан» (http://www.diafan.ru/)
*/
if (! defined('DIAFAN')) {
$path = __FILE__;
while(! file_exists($path.'/includes/404.php'))
{
$parent = dirname($path);
if($parent == $path) exit;
$path = $parent;
}
include $path.'/includes/404.php';
}
//JS-layer for analitics ecommerce, dataLayer
$ecommerce_for_metrika = '<script type="text/javascript">
window.dataLayer.push({
"ecommerce": {
"purchase": {
"actionField": {
"id" : "'.$result["id"].'"
},
"products": [';
//шапка таблицы
echo '<table class="cart">
<thead><tr>
<th class="cart_img"></th>
<th class="cart_name">'.$this->diafan->_('Наименование товара').'</th>';
if(! empty($result["measure_unit"]))
{
echo '<th class="cart_measure_unit">'.$this->diafan->_('Единица измерения').'</th>';
}
echo '
<th class="cart_count">'.$this->diafan->_('Количество').'</th>';
if($result["discount"])
{
echo '<th class="cart_old_price">'.$this->diafan->_('Цена со скидкой').', '.$result["currency"].'</th>';
}
echo '
<th class="cart_price">'.$this->diafan->_('Цена').', '.$result["currency"].'</th>';
if($result["discount"])
{
echo '<th class="cart_discount">'.$this->diafan->_('Скидка').'</th>';
}
echo '<th class="cart_summ">'.$this->diafan->_('Сумма').', '.$result["currency"].'</th>
</tr></thead><tbody>';
//товары
if (! empty($result["rows"]))
{
foreach ($result["rows"] as $row)
{
$ecommerce_for_metrika .= ' {
"id": "'.$row["id"].'",
"name": "'.$row["name"].'",
"price": '.(preg_replace('/[^0-9.,]/', '', $row["price"])).',
"category": "'.$row["cat"]["name"].'",
';
echo '
<tr>
<td class="cart_img">';
if (!empty($row["img"]))
{
echo '<a href="'.BASE_PATH_HREF.$row["link"].'"><img src="'.$row["img"]["src"].'" width="'.$row["img"]["width"].'" height="'.$row["img"]["height"].'" alt="'.$row["img"]["alt"].'" title="'.$row["img"]["title"].'"></a> ';
}
echo '</td>
<td class="cart_name">';
if(! empty($row["cat"]))
{
echo '<a href="'.BASE_PATH_HREF.$row["cat"]["link"].'">'.$row["cat"]["name"].'</a> / ';
}
echo '<a href="'.BASE_PATH_HREF.$row["link"].'">'.$row["name"];
if(! empty($row["param"]))
{
foreach($row["param"] as $name => $value)
{
echo ', '.$name.': '.$value;
$ecommerce_for_metrika .= '"variant": "'.$value.'",
';
}
}
if(! empty($row["article"]))
{
echo '<br/>'.$this->diafan->_('Артикул').': '.$row["article"];
}
echo '</a>';
if(! empty($row["additional_cost"]))
{
foreach($row["additional_cost"] as $a)
{
echo '<br>'.$a["name"];
if($a["summ"])
{
echo ' + '.$a["format_summ"].' '.$result["currency"];
}
}
}
echo '</td>';
if(! empty($result["measure_unit"]))
{
echo '<td class="cart_measure_unit">'.($row["measure_unit"] ? $row["measure_unit"] : $this->diafan->_('шт.')).'</td>';
}
echo '
<td class="js_cart_count cart_count">'.$row["count"].'</td>';
if($result["discount"])
{
echo '<td class="cart_price">'.$row["price"].'</td>';
echo '<td class="cart_old_price">'.($row["old_price"] ? $row["old_price"] : '').'</td>';
echo '<td class="cart_discount">'.($row["discount"] ? $row["discount"] : '').'</td>';
}
else
{
echo '<td class="cart_price">'.$row["price"].'</td>';
}
echo '
<td class="cart_summ">'.$row["summ"].'</td>
</tr>';
$ecommerce_for_metrika .= '"quantity": '.$row["count"].'
},';
}
$count_clm = 0;
if(! empty($result["discount"]))
{
$count_clm += 2;
}
if(! empty($result["measure_unit"]))
{
$count_clm++;
}
// общая скидка от объема
if(! empty($result["discount_summ"]))
{
echo '
<tr>
<td class="cart_discount_total_text" colspan="'.($count_clm + 4).'" ></td>
<td class="cart_discount_total">';
if(! empty($result["discount_summ"]))
{
echo $this->diafan->_('Скидка').' '.$result["discount_summ"];
}
echo '</td>
</tr>';
}
//итоговая строка для товаров
echo '
<tr class="cart_last_tr">
<td class="cart_total" colspan="2">'.$this->diafan->_('Итого за товары').'</td>';
if(! empty($result["measure_unit"]))
{
echo '<td></td>';
}
echo '
<td class="cart_count">'.$result["count"].'</td><td class="cart_price"></td>';
if($result["discount"])
{
echo '<td class="cart_old_price"></td>';
echo '<td class="cart_discount"></td>';
}
echo '
<td class="cart_summ">';
if(! empty($result["old_summ_goods"]))
{
echo '<div class="cart_summ_old_total">'.$result["old_summ_goods"].'</div>';
}
echo $result["summ_goods"];
echo '</td>
</tr>';
//дополнительно
if (! empty($result["additional_cost"]))
{
echo '<tr><th colspan="'.($count_clm + 5).'" class="cart_additional_title">'.$this->diafan->_('Дополнительно').'</th></tr>';
foreach ($result["additional_cost"] as $row)
{
if ($row['amount'])
{
$row['text'] .= '<br>'.$this->diafan->_('Бесплатно от суммы').' '.$row['amount'].' '.$result["currency"];
}
echo '
<tr>
<td class="cart_additional" colspan="'.($count_clm + 3).'">
<div class="cart_additional_cost_name">'.$row["name"].'</div>
</td>
<td class="cart_price">'.($row['percent'] ? $row['percent'].'%' : $row["price"]).'</td>
<td class="cart_summ">'.$row["summ"].'</td
</tr>';
}
}
//способы доставки
if (! empty($result["delivery"]))
{
echo '<tr><th colspan="'.($count_clm + 5).'" class="cart_delivery_title">'.$this->diafan->_('Способ доставки').'</th></tr>';
echo '
<tr>
<td colspan="'.($count_clm + 4).'" class="cart_delivery">
<div class="cart_delivery_name">'.$result["delivery"]["name"].'</div>
</td>
<td class="cart_summ">'.$result["delivery"]["summ"].'</td>
</tr>';
}
}
$ecommerce_for_metrika .= ' ]
}
}
});
</script>';
//итоговая строка таблицы
echo '
<tr class="cart_last_tr">
<td class="cart_total" colspan="2">'.$this->diafan->_('Итого к оплате').'</td>';
if(! empty($result["measure_unit"]))
{
echo '<td></td>';
}
echo '<td class="cart_count"></td><td class="cart_price"></td>';
if($result["discount"])
{
echo '<td class="cart_old_price"></td>';
echo '<td class="cart_discount"></td>';
}
echo '<td class="cart_summ">'.$result["summ"];
if(! empty($result["tax"]))
{
echo '<br>'.$this->diafan->_('в т. ч. %s', true, $result["tax_name"]).'<br>'.$result["tax"];
}
echo '</td>
</tr></tbody>
</table>';
//-------js для счетчиков, передающих информацию о продажах
echo '<script type="text/javascript">
window.dataLayer = window.dataLayer || [];
</script>';
echo $ecommerce_for_metrika;
//--------js для счетчиков, передающих информацию о продажах
foreach($result["param"] as $param)
{
echo '<div class="cart_param">'.$param["name"];
if ($param["value"])
{
echo ': <span class="cart_param_value">';
if($param["type"] == "attachments")
{
foreach ($param["value"] as $a)
{
if ($a["is_image"])
{
if($param["use_animation"])
{
echo ' <a href="'.$a["link"].'" rel="prettyPhoto[gallery'.$result["id"].'ab]"><img src="'.$a["link_preview"].'"></a> <a href="'.$a["link"].'" rel="prettyPhoto[gallery'.$result["id"].'ab_link]">'.$a["name"].'</a>';
}
else
{
echo ' <a href="'.$a["link"].'"><img src="'.$a["link_preview"].'"></a> <a href="'.$a["link"].'">'.$a["name"].'</a>';
}
}
else
{
echo ' <a href="'.$a["link"].'">'.$a["name"].'</a>';
}
}
}
elseif($param["type"] == "images")
{
foreach ($param["value"] as $img)
{
echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}
}
elseif (is_array($param["value"]))
{
foreach ($param["value"] as $p)
{
if ($param["value"][0] != $p)
{
echo ', ';
}
if (is_array($p))
{
if ($p["link"])
{
echo '<a href="'.BASE_PATH_HREF.$p["link"].'">'.$p["name"].'</a>';
}
else
{
echo $p["name"];
}
}
else
{
echo $p;
}
}
}
else
{
echo $param["value"];
}
echo '</span>';
}
echo '</div>';
if($param["text"])
{
echo '<div class="cart_param_text">'.$param["text"].'</div>';
}
$result['id'];
}
И в шаблоне страницы вызываюКод<h2 class="pb-5 text-center number__order">Номер вашего заказа.<?php echo $result['id'];?></h2>
-
-
-
-
-
-
-
- Dmitry (weissfl)
- 161
-
01 марта 2019 г.
-
Вам надо добавить $result['id'] в шаблон cart.view.show_last_order.php
И вывести все это через шаблонный тег <insert name="show_last_order" module="cart">
https://www.diafan.ru/dokument/full-manual/templates-functions/#show_last_order_cart -
-
-
Новости
-
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