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

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

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


Сообщения - albion

Страницы: [1] 2 3 ... 8
1
Может нет шаблона order для emarket?

Да нет, все есть. У меня единственное подозрение: у хостера был сбой харда (реально был), и как то неправильно восстановился бекап (может какой байт :) в процессе потерялся или наоборот добавился :) , которого не увидишь) и UMI был недоволен таким исходом и выдавал пустую страницу. Как только физически файл заменил - так сразу ошибка исчезла.

2
Надо чтобы путь был начинающийся из РАЗДЕЛОВ магазина: ->Бензоинструмент -> Бензорезы -> Ремонт Бензорезов.
А из "ремонт и обслуживание": Ремонт - > Бензорезы -> Ремонт Бензорезов
С точки зрения SEO это не правильно, т.к. информация будет дублироваться (если, конечно, этим примером вы обозначали "хлебные крошки")
Такого не делал, но я бы сделал так: 2 каталога (оборудование и услуги). У каждого товара и каждой услуги есть поле "Тип товара" (или что то подобное), которое цепляет единый справочник. Т.е. получится так: находясь на странице товара вы сможете по данному полю сделать фильтр и вывести на страницы ссылки на услуги, и наоборот.

3
aghigay, спасибо. Проблему решил. Оказалось, что проблему создавал шаблон, по которому отправлялись письма интернет магазином. Но, когда все письма приходят - было сложно понять, что именно из за этого была пустая страница :(

Даже интересно, где может быть ошибка :( , я лично так и не понял.

Файл шаблонов, который давал пустую страницу.
<?php
$FORMS = Array();

$FORMS['status_notification'] = <<<END
Ваш заказ #%order_number% %status%
END;

$FORMS['status_notification_receipt'] = <<<END
Ваш заказ #%order_number% %status%
END;

$FORMS['neworder_notification'] = <<<END
Поступил новый заказ #%order_number% (<a href="http://%domain%/admin/emarket/order_edit/%order_id%/">Просмотр</a>)
<br/><br/>
%emarket order(%order_id%, 'order')%
END;
?>

Файл шаблонов, с которым все работает:
<?php
$FORMS = Array();

$FORMS['status_notification'] = <<<END
Ваш заказ #%order_number% %status%
<br/><br/>

END;

$FORMS['status_notification_receipt'] = <<<END
Ваш заказ #%order_number% %status%
<br/><br/>

END;

$FORMS['neworder_notification'] = <<<END
Поступил новый заказ #%order_number% (<a href="http://%domain%/admin/emarket/order_edit/%order_id%/">Просмотр</a>)
<br/><br/>

Способ оплаты: %payment_type%<br/>
Статус оплаты: %payment_status%<br/>
Сумма оплаты:  %price%<br/>


END;
?>

4
Хочу обратить внимание на то, что сказанное не совсем корректно отражает действительность. Судя по всему, правильнее было бы сказать не "тот же самый шаблон", а "тот же самый файл". В файлах содержаться шаблоны, которые отвечают за различные события внутри системы. И, возможно, шаблон на конкретное событие работает не совсем корректно.
Если вы взгляните на вопрос с этой точки зрения, то, возможно, решение найдется. Нам тут без кода особо ничего и не посоветовать.
Да, возможно не корректно выразился. Но, как уже выше написал - основной шаблон сделал пустым с одним макросом %content%, а все файлы из папки с шаблонами /emarkets/ заменил на файлы с работающего сайта.

Кстати, по поводу ?showStreamsCalls - когда вставляешь это, то сайт подвисает и уходит в 504 ошибку и логах ошибок появляется:
PHP Warning:  DOMDocument::load() [<a href='domdocument.load'>domdocument.load</a>]: Opening and ending tag mismatch: img line 304 and a in /var/www/anton/data/www/htdocs/tpls/content/pt-main.tpl, line: 304 in /var/www/anton/data/www/htdocs/classes/system/subsystems/templaters/xslt/xslTemplater.php on line 2

5
Проверяйте, что у вас есть шаблоны, которые отвечают за формирование страницы результата и что эти шаблоны без ошибок. Самый простой способ продиагностировать - добавить .xml и ?showStreamsCalls на пустую страницу и посмотреть что выведет один запрос и что другой.
Тот же самый шаблон отвечает и за все остальные страницы корзины, да и в нем, кроме %content% ничего нет и да вставлял шаблоны с работающего сайт, правда версия выше и работало все так же, т.е. за место страницы с фразой - "Ваш заказ принят" выдается пустая страница, при этом заказ уходит (вся почта рассылается и поступает в базу).

6
Почистил все заказы. Сайт, реально, начал на много быстрее работать. Ранее, когда залогиненый был, то страница открывалась по 8 сек, сейчас же 0,8 сек.
Но, пустая страница заказа так и осталась. Не пойму в чем может быть проблема :(

7
Про адреса доставки я ничего не говорил :-) Я говорил про товары в зависших корзинах. А товаров там не по одному. Итого, 80 тысяч корзин, пусть по 2 товара - сколько объектов?
В каждом заказе по 1 товару. Похоже нашел описание своей проблемы http://umi-cms.spb.su/forum/index.php?what=showtopic&theme=173 , но там какой то странный скрипт http://umi-cms.spb.su/forum/index.php?what=showtopic&theme=150 , а точнее не понятно для чего там надо указывать IP и другие данные :) и еще один способ, но не знаю подойдет ли для 2,8,5 - http://uminsk.ru/help/umenshit-razmer-bazy/

8
2. Этот скрипт не чистит заказчиков и товары. А это может быть гораздо большее число объектов. И они останутся повисшими в системе. Для их очистки я видел где-то дополнительные скрипты.
Не, их гораздо меньше. В справочнике "Адрес доставки" около 200, а вот "Незарегистрированных покупателей" примерно столько же, сколько и заказов :(

9
Реально проще обновиться и убрать проблемы по быстродействию навсегда, а не до момента, пока следующий раз придется чистить базу
Да, если бы было проще обновить, то давно бы обновил. :( Столько проблем может появиться, что текущие окажутся цветочками :), первейшие из которых, не работающие кастомные скрипты, которые писались под заказ. Хотя, есть новый функционал, который я бы внедрил бы на сайт :)

10
Дело это не простое. Есть скрипты по очистке
Где бы достать эти скрипты?

Подойдет ли данный скрипт, для 2,8,5 (ссылка на WIKI не вставляется здесь) и там написано актуально для 2,9:

public function delOrders($m=0,$y=0){
                $orders = new selector('objects');
                $objectsCollection = umiObjectsCollection::getInstance();
                $orders->types('object-type')->name('emarket','order');
                foreach($orders as $order){
                    $date=$order->order_date;
                    echo $order->id."<br />";
                    $parsDate=explode('-',$date);
                    if(($parsDate[0]<$y)){
                        $objectsCollection->delObject($order->id);
                    }
                    if(($parsDate[1]<$m)){
                        $objectsCollection->delObject($order->id);
                    }
                    if((!$parsDate[0])&&(!$parsDate[1])){
                        $objectsCollection->delObject($order->id);
                    }
                    }
                return "done";
            }

11
Поковырялся дальше :) До этого была отключена система оплаты, после того, как включил там был только один пункт "Квитанцией сбербанка" - выбрал при покупке, опять 10-20 секунд подождал и система сформировала квитанцию, т.е. по сути оформление заказа закончилось.

Далее добавил "оплату курьеру" и получилось, то что сейчас постоянно - пустая страница :(

Что то начинаю подозревать, что где то вшита, то ли по ID, то ли еще как то, функция, которая формирует заказ с доставкой курьеру, но т.к. такого пункта не было, то не на что сослаться и по этому выходит пустая страница. Теперь главное разобраться где этот ID прописан и на что его заменить, что бы все работало :(

12
Timeout в Apache стоял 300, так что думаю не в нем проблема. В логах ошибок так же нет.

По поводу чистки, вероятно, согласен с вами, но как ее произвести, когда в том же интернет магазине непомйми откуда более 80 000 заказов, а на странице выдает только по 20 заказов. Т.е. я быстрого способа почистить не знаю. http://dl1.joxi.net/drive/2016/04/27/0013/1723/915131/31/e209607dc3.png

А статистику, как правило сразу отключаю, т.к. тормозит систему :)

13
С сайтом происходит какая то странная ситуация:

1. Когда залогинешься - сайт начинает тормозить по жуткому, но это ничего страшного, т.к. только я логинюсь, а в админке сайт летает.

2. Второе вот больше напрягает. Добавляешь товар в корзину -> переходишь в корзину -> оформляешь заказ по странично забив необходимые данные -> и на последнем этапе, когда уже должна открыться страница с информацией о том, что заказ сформирован, происходит какая то неведомая фигня страница подумав секунд 20-30 отражается пустой в прямом смысле, т.е. пустой html. Но самое интересное, что заказ оформляется и даже письмо приходит о заказе.

И главное никаких ошибок вообще не выдает, т.е. включаю отображение ошибок, а их просто нет. Попытки менять всякие параметры, типа selection-calc-found-rows-disable, то же ни к чему не привели. Даже, после того, как подцепил пустой шаблон (пользуюсь tpl) с одним макросом %content% - так же ничего не дало.

Пробежался по всем рекомендуемым UMI-CMS настройкам хостинга - все настройки, вроде, подходят. Всякие кэширующие механизмы не использую, а точнее использую через custpom.php кэш, который описан в wiki umi и кешируется только части страниц и корзину никак не затрагивает.

Может кто знает, с чем вообще это может быть связано?

14
Сейчас все делается (кроме кеша) стандартными методами UMI на tpl шаблонизаторе. И курсы записаны в модуле ИМ-Валюты. КЕШ состоит из сгенерированного HTML контентной части страницы. И необходимо, что бы в сохраненке кеша был код JavaScript, который будет вызывать цену текущего товара уже перемноженного на курс. Т.е. по сути цена не будет кешироваться.

15
Не. Как то получить уже перемноженную цену (то, что в базе умноженное на курс).

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