При добавлении товара в корзину «ПЭК» создаёт диагностический отчёт с сообщением «Укажите город»

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
  • Тема закрыта
#1 Евгений Бодров
  • Группа: Клиент
  • Сообщений: 50
  • Регистрация: 04.02.2013

09.11.2016 01:04

перекодировать это понятно. штатные не помогли редакторы нашел в сети и увидел что отправляться лог файл, которые прикрепленный в первом сообщение rm-2016-11-08--23-45.log вот его понять не могу что так? почему от был отправлен на rm.bug.tracker@gmail.com
хотя лог читабельный.

URL: http://texnodom.ru/c...GxS0V2tgfPvma4/
Версия Magento: 2.49.11 (1.9.2.2)
Версия PHP: 5.4.38-1~dotdeb.1
Время: 2016-11-08 23:45:20 MSK
Оформительская тема: ultimo / texno
***********************************
Укажите город.
***********************************
Файл: includes/src/Df_Pec_Model_Api_Calculator.php
Строка: 160
Субъект: Df_Pec_Model_Api_Calculator::getLocationDestinationId
Объект: df_assert
Контекст:
[МИНСК] => ~102150
[МОГИЛЕВ] => ~102152
* А идентификаторы некоторых российских населённых пунктов начинаются с минуса:
[АРМАВИР] => -478
* @return string
*/
private function getLocationDestinationId() {
df_assert($this->getRequest()->getDestinationCity(), 'Укажите город.');
/** @var string $result */
$result =
df_a(
Df_Pec_Model_Request_Locations::s()->getResponseAsArray()
,df_h()->directory()->normalizeLocationName(
$this->getRequest()->getDestinationCity()
)
)
************************************
Файл: includes/src/Df_Pec_Model_Api_Calculator.php
Строка: 113
Субъект: Df_Pec_Model_Api_Calculator::getApiRequest
Объект: Df_Pec_Model_Api_Calculator::getLocationDestinationId
Контекст:
$this->{__METHOD__} = Df_Pec_Model_Request_Rate::i(array(
'deliver' =>
array(
'gidro' => rm_01($this->getServiceConfig()->needCargoTailLoaderAtDestination())
,'moscow' => 0
,'speed' => 0
,'tent' => rm_01($this->getServiceConfig()->needRemoveAwningAtDestination())
,'town' => $this->getLocationDestinationId()
)
,'take' =>
array(
'gidro' => rm_01($this->getServiceConfig()->needCargoTailLoaderAtOrigin())
,'moscow' =>
df_a(
array(
Df_Pec_Model_Config_Source_MoscowCargoReceptionPoint
************************************
Файл: includes/src/Df_Pec_Model_Api_Calculator.php
Строка: 10
Субъект: Df_Pec_Model_Api_Calculator::getRates
Объект: Df_Pec_Model_Api_Calculator::getApiRequest
Контекст:
/**
* @return array(string => array(string => int|float))
* @throws Exception
*/
public function getRates() {
if (!isset($this->{__METHOD__})) {
/** @var mixed[] $responseAsArray */
$responseAsArray = $this->getApiRequest()->response()->json();
try {
/** @var array(string => array(string => int|float)) $result */
$result = array();
/** @var float[] $add */
$add = df_a($responseAsArray, 'ADD', array());
df_assert_array($add);
/** @var float $addRate */
$addRate = rm_float(df_a($add, 2));
************************************
Файл: includes/src/Df_Pec_Model_Collector.php
Строка: 27
Субъект: Df_Pec_Model_Collector::getMethods
Объект: Df_Pec_Model_Api_Calculator::getRates
Контекст:
df_assert_string($methodClass);
/** @var string $methodTitle */
$methodTitle = rm_last($methodData);
df_assert_string($methodTitle);
/** @var string $methodId */
df_assert_string($methodId);
/** @var array(string => int|float)|null $rate */
$rate = df_a($this->getApi()->getRates(), $methodId);
if (!is_null($rate)) {
df_assert_array($rate);
/** @var Df_Pec_Model_Method $method */
$method = $this->createMethod($methodClass, $methodTitle);
df_assert($method instanceof Df_Pec_Model_Method);
// Обратите внимание, что информация о сроках доставки может отсутствовать.
$method
->setTimeOfDeliveryMax(
************************************
Файл: includes/src/__checkout.php
Строка: 36625
Субъект: Df_Shipping_Model_Collector::getRateResult
Объект: Df_Pec_Model_Collector::getMethods
Контекст:
* Обратите внимание на два вложенных друг в друга блока try...catch.
* Одного было бы недостаточно,
* потому что исключительная ситуация может возникнуть
* при вызове $this->getMethods()
*/
try {
if (
!$this->getMethods()
&&
$this->getRmConfig()->frontend()->needDisplayDiagnosticMessages()
) {
df_error(
strtr(
'К сожалению, в силу особенностей Вашего заказа, система не в состоянии '
.'в автоматическом режиме подобрать для него подходящий режим доставки '
.'службой {carrier}. '
************************************
Файл: includes/src/__checkout.php
Строка: 36155
Субъект: Df_Shipping_Model_Carrier::collectRates
Объект: Df_Shipping_Model_Collector::getRateResult
Контекст:
public function collectRates(Mage_Shipping_Model_Rate_Request $request) {
/** @var Df_Shipping_Model_Collector $collector */
$collector = df_model($this->getCollectorClass(), array(
Df_Shipping_Model_Collector::P__CARRIER => $this
,Df_Shipping_Model_Collector::P__RATE_REQUEST => $this->createRateRequest($request)
));
df_assert($collector instanceof Df_Shipping_Model_Collector);
return $collector->getRateResult();
}

/**
* @param Mage_Shipping_Model_Rate_Request $request
* @return Df_Shipping_Model_Rate_Request
*/
public function createRateRequest(Mage_Shipping_Model_Rate_Request $request) {
return
************************************
Файл: includes/src/__checkout.php
Строка: 126927
Субъект: Mage_Shipping_Model_Shipping::collectCarrierRates
Объект: Df_Shipping_Model_Carrier::collectRates
Контекст:
}
}
}
} else {
$result = $carrier->collectRates($request);
}
} else {
$result = $carrier->collectRates($request);
}
if (!$result) {
return $this;
}
}
if ($carrier->getConfigData('showmethod') == 0 && $result->getError()) {
return $this;
}
************************************
Файл: includes/src/__checkout.php
Строка: 126847
Субъект: Mage_Shipping_Model_Shipping::collectRates
Объект: Mage_Shipping_Model_Shipping::collectCarrierRates
Контекст:
}

$limitCarrier = $request->getLimitCarrier();
if (!$limitCarrier) {
$carriers = Mage::getStoreConfig('carriers', $storeId);

foreach ($carriers as $carrierCode => $carrierConfig) {
$this->collectCarrierRates($carrierCode, $request);
}
} else {
if (!is_array($limitCarrier)) {
$limitCarrier = array($limitCarrier);
}
foreach ($limitCarrier as $carrierCode) {
$carrierConfig = Mage::getStoreConfig('carriers/' . $carrierCode, $storeId);
if (!$carrierConfig) {
************************************
Файл: includes/src/__checkout.php
Строка: 42900
Субъект: Mage_Sales_Model_Quote_Address::requestShippingRates
Объект: Mage_Shipping_Model_Shipping::collectRates
Контекст:
*/
$request->setBaseCurrency($this->getQuote()->getStore()->getBaseCurrency());
$request->setPackageCurrency($this->getQuote()->getStore()->getCurrentCurrency());
$request->setLimitCarrier($this->getLimitCarrier());

$request->setBaseSubtotalInclTax($this->getBaseSubtotalInclTax() + $this->getBaseExtraTaxAmount());

$result = Mage::getModel('shipping/shipping')->collectRates($request)->getResult();

$found = false;
if ($result) {
$shippingRates = $result->getAllRates();

foreach ($shippingRates as $shippingRate) {
$rate = Mage::getModel('sales/quote_address_rate')
->importShippingRate($shippingRate);
************************************
Файл: includes/src/__checkout.php
Строка: 42831
Субъект: Mage_Sales_Model_Quote_Address::collectShippingRates
Объект: Mage_Sales_Model_Quote_Address::requestShippingRates
Контекст:
$this->removeAllShippingRates();

if (!$this->getCountryId()) {
return $this;
}

$found = $this->requestShippingRates();
if (!$found) {
$this->setShippingAmount(0)
->setBaseShippingAmount(0)
->setShippingMethod('')
->setShippingDescription('');
}

return $this;
************************************
Файл: includes/src/__checkout.php
Строка: 120083
Субъект: Mage_Sales_Model_Quote_Address_Total_Shipping::collect
Объект: Mage_Sales_Model_Quote_Address::collectShippingRates
Контекст:
if (isset($addressQty)) {
$address->setItemQty($addressQty);
}

$address->setWeight($addressWeight);
$address->setFreeMethodWeight($freeMethodWeight);

$address->collectShippingRates();

$this->_setAmount(0)
->_setBaseAmount(0);

$method = $address->getShippingMethod();

if ($method) {
foreach ($address->getAllShippingRates() as $rate) {
************************************
Файл: includes/src/__checkout.php
Строка: 42969
Субъект: Mage_Sales_Model_Quote_Address::collectTotals
Объект: Mage_Sales_Model_Quote_Address_Total_Shipping::collect
Контекст:
*
* @return Mage_Sales_Model_Quote_Address
*/
public function collectTotals()
{
Mage::dispatchEvent($this->_eventPrefix . '_collect_totals_before', array($this->_eventObject => $this));
foreach ($this->getTotalCollector()->getCollectors() as $model) {
$model->collect($this);
}
Mage::dispatchEvent($this->_eventPrefix . '_collect_totals_after', array($this->_eventObject => $this));
return $this;
}

/**
* Get address totals as array
*
************************************
Файл: includes/src/__checkout.php
Строка: 117126
Субъект: Mage_Sales_Model_Quote::collectTotals
Объект: Mage_Sales_Model_Quote_Address::collectTotals
Контекст:
foreach ($this->getAllAddresses() as $address) {
$address->setSubtotal(0);
$address->setBaseSubtotal(0);

$address->setGrandTotal(0);
$address->setBaseGrandTotal(0);

$address->collectTotals();

$this->setSubtotal((float) $this->getSubtotal() + $address->getSubtotal());
$this->setBaseSubtotal((float) $this->getBaseSubtotal() + $address->getBaseSubtotal());

$this->setSubtotalWithDiscount(
(float) $this->getSubtotalWithDiscount() + $address->getSubtotalWithDiscount()
);
$this->setBaseSubtotalWithDiscount(
************************************
Файл: includes/src/__default.php
Строка: 33400
Субъект: Mage_Checkout_Model_Cart::save
Объект: Mage_Sales_Model_Quote::collectTotals
Контекст:
*/
public function save()
{
Mage::dispatchEvent('checkout_cart_save_before', array('cart'=>$this));

$this->getQuote()->getBillingAddress();
$this->getQuote()->getShippingAddress()->setCollectShippingRates(true);
$this->getQuote()->collectTotals();
$this->getQuote()->save();
$this->getCheckoutSession()->setQuoteId($this->getQuote()->getId());
/**
* Cart save usually called after changes with cart items.
*/
Mage::dispatchEvent('checkout_cart_save_after', array('cart'=>$this));
return $this;
}
************************************
Файл: app/code/core/Mage/Checkout/controllers/CartController.php
Строка: 223
Субъект: Mage_Checkout_CartController::addAction
Объект: Mage_Checkout_Model_Cart::save
Контекст:
}

$cart->addProduct($product, $params);
if (!empty($related)) {
$cart->addProductsByIds(explode(',', $related));
}

$cart->save();

$this->_getSession()->setCartWasUpdated(true);

/**
* @todo remove wishlist observer processAddToCart
*/
Mage::dispatchEvent('checkout_cart_add_product_complete',
array('product' => $product, 'request' => $this->getRequest(), 'response' => $this->getResponse())
************************************
Файл: includes/src/__default.php
Строка: 23111
Субъект: Mage_Core_Controller_Varien_Action::dispatch
Объект: Mage_Checkout_CartController::addAction
Контекст:
/**
* preDispatch() didn't change the action, so we can continue
*/
if (!$this->getFlag('', self::FLAG_NO_DISPATCH)) {
$_profilerKey = self::PROFILER_KEY.'::'.$this->getFullActionName();

Varien_Profiler::start($_profilerKey);
$this->$actionMethodName();
Varien_Profiler::stop($_profilerKey);

Varien_Profiler::start(self::PROFILER_KEY.'::postdispatch');
$this->postDispatch();
Varien_Profiler::stop(self::PROFILER_KEY.'::postdispatch');
}
}
}
************************************
Файл: includes/src/__default.php
Строка: 40269
Субъект: Mage_Core_Controller_Varien_Router_Standard::match
Объект: Mage_Core_Controller_Varien_Action::dispatch
Контекст:
// set parameters from pathinfo
for ($i = 3, $l = sizeof($p); $i < $l; $i += 2) {
$request->setParam($p[$i], isset($p[$i+1]) ? urldecode($p[$i+1]) : '');
}

// dispatch action
$request->setDispatched(true);
$controllerInstance->dispatch($action);

return true;
}

/**
* Get router default request path
* @return string
*/
************************************
Файл: includes/src/__default.php
Строка: 39795
Субъект: Mage_Core_Controller_Varien_Front::dispatch
Объект: Mage_Core_Controller_Varien_Router_Standard::match
Контекст:
$this->_getRequestRewriteController()->rewrite();

Varien_Profiler::start('mage::dispatch::routers_match');
$i = 0;
while (!$request->isDispatched() && $i++ < 100) {
foreach ($this->_routers as $router) {
/** @var $router Mage_Core_Controller_Varien_Router_Abstract */
if ($router->match($request)) {
break;
}
}
}
Varien_Profiler::stop('mage::dispatch::routers_match');
if ($i>100) {
Mage::throwException('Front controller reached 100 router match iterations');
}
************************************
Файл: includes/src/__default.php
Строка: 43022
Субъект: Mage_Core_Model_App::run
Объект: Mage_Core_Controller_Varien_Front::dispatch
Контекст:
$scopeCode = isset($params['scope_code']) ? $params['scope_code'] : '';
$scopeType = isset($params['scope_type']) ? $params['scope_type'] : 'store';
$this->_initCurrentStore($scopeCode, $scopeType);
$this->_initRequest();
Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
}

$this->getFrontController()->dispatch();
}
return $this;
}

/**
* Initialize PHP environment
*
* @return Mage_Core_Model_App
************************************
Файл: app/Mage.php
Строка: 684
Субъект: Mage::run
Объект: Mage_Core_Model_App::run
Контекст:
self::$_events = new Varien_Event_Collection();
self::_setIsInstalled($options);
self::_setConfigModel($options);
self::$_app->run(array(
'scope_code' => $code,
'scope_type' => $type,
'options' => $options,
));
Varien_Profiler::stop('mage');
} catch (Mage_Core_Model_Session_Exception $e) {
header('Location: ' . self::getBaseUrl());
die();
} catch (Mage_Core_Model_Store_Exception $e) {
require_once(self::getBaseDir() . DS . 'errors' . DS . '404.php');
die();
} catch (Exception $e) {
************************************
Файл: index.php
Строка: 83
Субъект:
Объект: Mage::run
Контекст:
/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';

Mage::run($mageRunCode, $mageRunType);
************************************

#2 Евгений Бодров
  • Группа: Клиент
  • Сообщений: 50
  • Регистрация: 04.02.2013

09.11.2016 01:07

админ я слабоватый. вот прошу направить меня на путь на котором и чайник разберется.

#3 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

09.11.2016 01:13

Авторизован ли в Magento покупатель при таком сбойном добавлении товара в корзину?

#4 Евгений Бодров
  • Группа: Клиент
  • Сообщений: 50
  • Регистрация: 04.02.2013

09.11.2016 13:08

нет не авторизован.
с авторизацией не пробовал. вечером сделаю, и отпишу.

#5 Евгений Бодров
  • Группа: Клиент
  • Сообщений: 50
  • Регистрация: 04.02.2013

09.11.2016 22:45

Cбойное добавлении товара в корзину происходит как у авторизованного пользователя так и у не авторизованного.
Сбой стал замечать после того как правильно настроил домен и exim стали возвращаться письма не дошедшие до rm.bug.tracker@gmail.com
год назад установил теме ultimo может что не качественно сделал.
так же замечал что в кеширование "Экранные блоки" и "Полностраничное кэширование" требуют обновления

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

10.11.2016 02:38

Исправлено в версии 2.49.12 Российской сборки Magento.

Поделиться темой: