Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Получение данных для навигации

Страницы: 1  |  2
24.04.2013, 16:08
viros
Правдин Виталий

Зарегистрирован:
2008-12-03
Сообщений: 126

Всем привет. Возникла следующая задачка,
Есть сайт, данные на который заливаются из базы 1С, это какой-то товар разбитый по разделам и другим отличительным данным. После закачки данных иерархия сайта выглядит примерно так
1.Марка
1.1 Модель
1.1.1 Цвет
цвет1,цвет2,цвет3...(это уже сами объекты, с описанием, артикулами, картинками и ценами)

Задача в том, можно ли в разделе 1.Марка при описании в макете шаблона навигации для разделов 1.1 Модель вытащить данные из таблицы с товарами(цвет1,цвет2,...), именно конкретные поля из этой таблицы, к примеру(цену и Артикул).

В голове одна мысль идти по логичной цепочке от родителей к потомкам. В таблице Subdivision узнать ID крайнего перед товаром потомка, и дальше в MessageXX по ID вытаскивать нужные данные.

Но как пихнуть этот запрос в шаблон навигации. там я вижу в ".$current_sub[Subdivision_ID]." только номер раздела 1.Марка, что и логично т.к. он активный, как идти дальше именно со стороны корня..

Если кто-то не устал читать и возникли мысли намекните плз, надо выкрутиться...
24.04.2013, 21:43
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

напишите ф-ию, которая достает нужные данные, положите ее в /netcat/modules/default/default.inc.php и вызывайте из шаблонов - так будет проще и понятней.

Temet nosce...
25.04.2013, 12:44
viros
Правдин Виталий

Зарегистрирован:
2008-12-03
Сообщений: 126

спасибо! Через запросы, нужные данные получаю. Написал функцию в modules/default/function.inc.php. А вот синтаксисом слабо, из шаблона навигации вызвать эту новую функцию не получается!
29.04.2013, 13:18
viros
Правдин Виталий

Зарегистрирован:
2008-12-03
Сообщений: 126

если я правильно понимаю нужно подцепить файл с функцией как-то так
Цитата:
require_once($DOCUMENT_ROOT."/netcat/modules/default/default.inc.php");

а дальше вызвать ее, чтобы получить нужный результат.

Подскажите как это сделать в поле "Шаблоны вывода навигации". Что-т все попытки заканчиваются ошибками. Я б даже просто пару запросов прямо в этом поле написал, но опять же, не нашел в документации как работать с ними в навигации.
07.05.2013, 09:57
viros
Правдин Виталий

Зарегистрирован:
2008-12-03
Сообщений: 126

Жаль что нет идей( Но вопрос принципиальный, требующий реализации. Друзья, программеры подскажите реально ли в навигации выполнить запрос. Есть шаблон и необходимо в неактивном разделе меню иметь данные о товаре. Для этого нужно либо прямо в описании раздела выполнять запрос, либо вызывать функцию, которая даст нужный результат. Вот такой вариант как ниже не правильный из-за синтаксиса, но идея именно в этом
Код:
$browse_sub['prefix'] = "<div id='nav3'>";
$browse_sub['suffix'] = "</div>";
$browse_sub['unactive'] = "$Artikul = $db->get_var("SELECT ItemID FROM Message191 WHERE Subdivision_ID ='".$sub."' LIMIT 1 ")
<a href='%URL'>%NAME</a>
<div id='nav3_artikul'> $Artikul </div>
<div id='nav3_price'> $Price </div>";


Как быть?Или обращаться в поддержку,помогают ли они в подобных вопросах!?
07.05.2013, 11:37
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 1037

http://energysa.ru/Prodakt/
Посмотрите эту страницу и скажите так ли вам нужно (что то подобное)?

Это "список разделов" где выводятся название и картинки товара но также я могу там вывеси любую информацию по объекту
s_list_class возможно использовать в шаблоне навигации и в шаблоне компонента вы можете задать запрос вида $query_where
Так же с помощью описанного мною метода присваивания значения объектам из разделов [6 пост] вы можете задать теги по которым и выполнять запрос вида $query_where в настройках шаблона компонента

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
07.05.2013, 13:01
viros
Правдин Виталий

Зарегистрирован:
2008-12-03
Сообщений: 126

Цитата:
http://energysa.ru/Prodakt/
Посмотрите эту страницу и скажите так ли вам нужно (что то подобное)?

Да идея почти точно такая же, список разделов в виде картинок рядом с которыми название,Цена, артикул(вместо описания).Но смысл да, тот же.
Цитата:
s_list_class возможно использовать в шаблоне навигации и в шаблоне компонента вы можете задать запрос вида $query_where

т.е. если правильно понял, я пишу в шаблоне компонента нужный мне запрос и просто вывожу компонент с помощью s_list_class в шаблоне навигации!? А для картинки это будет что-то вида
Код:
<img src='/folder/".s_list_class(1, 2, "recNum=1").".jpg
ну это в случае если запрос в компоненте дает имя файла.
07.05.2013, 13:07
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 1037

Вы слышали о шаблонах компонента?
Так вот вы можете не вешать картинке не пойми что а весь код товара вставить в шаблон компонента в надлежащем ему виде и после использовать в нужном месте шаблона навигации функцию s_list_class

Пример с того сайта
Код:
$browse_sub[3][unactive] = "
...
<div><div class='slidsub' id='slidsub%SUB'>\".s_list_class(%SUB,%cc_numb,\"nc_ctpl=196\").\"</div></div>
...
";


Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
07.05.2013, 14:26
viros
Правдин Виталий

Зарегистрирован:
2008-12-03
Сообщений: 126

Аа,ну мысль Вашу понял, спасибо. Надо пробовать.
Странно, но постоянно какие-то проблемы с синтаксисом.
Цитата:
".s_list_class(%SUB,%cc,"nc_ctpl=200")."

После такого написания, (правда на экранирование кавычек обругалась система вся)ошибка странная
Цитата:
Parse error: syntax error, unexpected '%', expecting ')'....
07.05.2013, 15:15
Игорь
Игорь Мишарин
Игорь

Зарегистрирован:
2011-11-20
Сообщений: 479

Потому что нужно так:
Код:
".s_list_class($sub,$cc,"nc_ctpl=200")."


Stark
13.05.2013, 13:54
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 1037

Ошибка как указал Игорь % Но пример что я указал я не правил. В таком виде он и работает.
list_class('%SUB','%cc',"nc_ctpl=2 попробуйте поставить кавычки так как % не является переменной
$cc не факт что у вас с ней что то получится тк как в макетах она выводит толи первый толи последний добавленный компонент

Я использовал дополнительные настройки раздела %cc для того чтобы вписать номер нужного компонента

Не забывайте что вписываете вы всего лишь раз при создании нового раздела и не более.

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
198 196 2013-06-03 20:24:07 13027
Страницы: 1  |  2
Описание проекта