Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - admin

Страницы: 1 [2] 3 4 ... 164
16
Я бы предложил в xslt шаблоне проверять, что это главная и добавлять дополнительный css класс к нужному элементу. А в css файле прописать, что с таким классом отрисовывается фоновая картинка, а без него белый фон.

Примерно так
<body>
<xsl:if test="result/page/@is-default = 1">
<xsl:attribute name="class">main-page</xsl:attribute>
</xsl:if>
...
</body>

17
Если разговор идет о том, что меняются поля в форме, может это разные формы?

Если это одна форма и просто надо подставлять название страницы (раздела).
- cделайте в форме поле "название страницы"
- спрячьте его при выводе формы (например через <input type="hidden" name="..." value="" />)
- при отрисовки формы в xslt шаблоне подставляйте название текущей страницы в это поле

Соответственно, при отправке формы, это поле будет содержать название страницы откуда ушло письмо.

18
Консоль что-то пишет при этом?

19
скорее всего вы говорите про фильтр? или именно про сортировку?
Если про фильтр, то какой тип данных является основой для элементов фильтрации (это новости, товары или т.п.)?

20
Шаблоны XSLT / Re: Фильтр по товарам XSLT
« : 06 Декабря 2017, 13:39:48 »
Вопрос комплексный)
Если хоть как-то сориентировать вас, то для начала:

- Понять, нужен ли адаптивный фильтр или нет (при выборе какого-то параметра, другие параметры блокируют "лишние" варианты)?
- Понять, каким макросом вы выводите фильтр http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getsmartfilters/ или http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_search/
- Есть ли у вас верстка ползунков цены и чекбоксов?
- Делаете ли вы фильтр на базе demodizzy или сами пишите (планируете писать) js код (если у вас фильтр работает без перезагрузки страницы)?

21
Шаблоны XSLT / Re: Что не так с xsl:for-each select=
« : 06 Декабря 2017, 13:34:41 »
Цитировать
И вопрос немного не по теме, есть ли где нибудь логи, с какой учетки были удалены разделы/страницы? гугл нечего не выдал, да и поиск по модулям сайта тоже...

Логи есть внизу каждой страницы или в модуле "резервирование" /admin/backup/snapshots/, но там идет сохранение изменений страницы. А логирование удаления, не видел. Если только попробовать восстановить страницу из корзины, может он что-то в логах и покажет.

22
ian.kolotov, что в итоге решилось с вашей ситуацией?

23
Развернули на хостинге или на локале?
Файл .htaccess в корне есть? что в нем?

24
Как раз не странно  ;).
Когда у вас включено "Кэширование макросов и протоколов для XSLT и PHP шаблонизаторов", то система запоминает первый вызов макроса, который скорее всего был на главной странице. Вот вы и видели результат того первого вызова, в котором status не тот, который вы ожидали.

25
Либо по каким-то причинам в $variables у соответствующего пункта (item) не стоит этот статус, либо при выводе он не выводится.

Для начала, проверьте что у вас в этом массиве данных $variables (просто выведите всю переменную в конечный html, который формируется у вас в этом шаблоне).


26
В одной выборке, скорее всего только прямым sql запросом.

Если говорить о решении в рамках API? то можно попробовать в 2 выборки (но если пользователей или заказов много, то не очень вариант)

$users= new selector('objects');
$users->types('object-type')->name('users', 'user');
$users->option("return", array("id"));
$user_ids = array();
foreach($users as $user){
    $user_ids[] = $user->id;
}
$orders = new selector('objects');
$orders->types('object-type')->name('emarket', 'order');
$orders->where('customer_id')->equals($user_ids);
$orders->option("return", array("name", "id"));
$totalItems = $orders->length;

27
Цитировать
Т.е. просто сделать вывод каталога через getSmartCatalog, как я сделала (но не там немного), а в <xsl:template match="udata[@method = 'cart'][count(items/item) &gt; 0]"/> и там же сделать запрос на вывод purchasing_one_step() ?

Тогда метод getCreateForm не нужен, так?

Метод getCreateForm не нужен
Я представлял, что верхний список товаров (на вашем скрине) это и есть список всех возможных товаров к покупке. То есть, это выглядит как корзина, но по сути просто вывод каталога через шаблон, который к каждому товару дорисовывает поля для ввода кол-ва и через js реализуется механизм покупки.

Цитировать
А какой js относится к корзине получается?
Можно тогда будет выбирать/убирать товар и менять его кол-во сразу находясь в корзине, так?
Механизм работы с корзиной через js сделанный umi'вцами лежит в файле /templates/demodizzy/js/basket.js

Цитировать
Можно сделать, чтобы в полном описании товара, нажимая на кнопку приобрести не менялась надпись "добавлено в корзину <кол-во>", а чтобы перекидывало в корзину?
этот механизм также лежит в функции replace в фале /templates/demodizzy/js/basket.js



28
Sumrakrnd, я бы предложил немного другой подход.

По сути у вас 2 задачи:
- положить товары в корзину в указанном кол-ве
- заполнить информацию необходимую для оформления заказа и оформить его.

Я бы предложил сделать это так:
- список товаров, которые можно купить и поля типа кол-ва вывести макросом для вывода товаров catalog getSmartCatalog()
- поля для ввода персональной информации и прочей информации важной для заказа (способ оплаты на вашем скриншоте) через макрос emarket purchasing_one_step()

Это позволит вам получить именно ту картинку, как вы и приложили в вашем вопросе.

Далее, осталось решить вопрос, как соединить функционал добавление\изменение кол-ва товара в корзине и сохранение данных для заказа на одной странице.
Тут есть несколько похожих вариантов, но я бы остановился на таком:
- все манипуляции с товарами типа отметка товара (фактически добавление товара в корзину), изменение его кол-ва или отмена выбора товара (фактически удаление товара из корзины) делать через js механизм работы с корзиной. То есть, отметил товар - через js положил его в корзину, изменил кол-во - через js изменил кол-во в корзине и т.д.
- оформление корзины происходит при нажатии на кнопку "подтвердить". При этом в корзине уже что-то лежит, а поля с информацией о заказе оформлены.

P.S. чтобы макрос emarket purchasing_one_step() не выводил вам поля для доставки, в настройках модуля "Интернет-магазин" отключите этот шаг.

29
Устанавливаю dummy - все работает.
Копирую папку dummy переименовываю ее, например mytest (во всех файлах dummy заменяю на mytest) устанавливаю и появляется ошибка

Произошли следующие ошибки:
Запрашиваемый ресурс не существует

Из-за чего это можут быть? Может что-то еще нужно сделать, кроме того как скопировать папку и перемеиновать название модуля во всех файлах ???

Как бы это дико не звучало, но скорее всего дело в названии класса при подключении файла админского. Вернее в том, что он должен быть с заглавной буквы.

1. в файле admin.php должно быть (с учетом названия вашего класса mytest)
class MytestAdmin {
use baseModuleAdmin;
2. в файле customAdmin.php должно быть (с учетом названия вашего класса mytest)
class MytestCustomAdmin{
use baseModuleAdmin;
3. в файле class.php там где вы подключаете классы, должно быть
$this->__loadLib("admin.php");
$this->__implement("MytestAdmin");
и
$this->__loadLib("customAdmin.php");
$this->__implement("MytestCustomAdmin", true);
соответственно

P.S. Если не поможет, пишите)
P.P.S. Да, еще было замечено, что название класса типа Mytest_admin тоже не нравится системе. То есть, вторую часть пришлось писать без подчеркивания и с большой буквы MytestAdmin

30
Так, господа, прошу беседовать конструктивно, а не обмениваться своим "профессиональным" уровнем тонкого сарказма.

Aisamiery, отвечая на ваш вопрос:

- Макрос отправки формы обратной связи (и прочие подобные) не возвращают отправленные в форме поля. Так как в функционале из коробки лишь выводит сообщение об ошибки.
- Один из стандартных способов решения данного вопроса позаимствованный из js файла в дефолтном шаблоне demodizzy. Он представляет из себя js код, для записи данных формы в куку, перед отправкой данных на сервер и восстановления из этой куки данных в случае ошибки (если вам необходим данных код или есть по нему вопросы, сформулируйте их)
- Альтернативный вариант, это использование своего (у многих он есть в личных заготовках) кастомного макроса, который перед отправкой данных на сервер делает проверку валидности данных формы (в том числе и капчи) через ajax запрос. По сути, он проверяет все тоже самое что и стандартные макросы обработки форм, только без редиректа на ошибки, а возвращая json список ошибок.

Этого ответа вам достаточно?



Страницы: 1 [2] 3 4 ... 164