Я использую другой API Карт Google, поэтому постараюсь помочь вам. Пожалуйста, используйте ваш целевой адрес в формате 'address = 1301% 20lombard% 20street% 20philadelphia'
https://maps.googleapis.com/maps/api/geocode/json?address=1301%20lombard%20street%20philadelphia&key=PASTE_YOUR_API_KEY
Вам понадобится ключ API. Перейдите по адресу: https://developers.google.com/maps/documentation/javascript/get-api-key
Ваш ответ будет:
{
"results" : [
{
"address_components" : [
{
"long_name" : "1301",
"short_name" : "1301",
"types" : [ "street_number" ]
},
{
"long_name" : "Lombard Street",
"short_name" : "Lombard St",
"types" : [ "route" ]
},
{
"long_name" : "Washington Square West",
"short_name" : "Washington Square West",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Philadelphia",
"short_name" : "Philadelphia",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Philadelphia County",
"short_name" : "Philadelphia County",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Pennsylvania",
"short_name" : "PA",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "19147",
"short_name" : "19147",
"types" : [ "postal_code" ]
},
{
"long_name" : "1003",
"short_name" : "1003",
"types" : [ "postal_code_suffix" ]
}
],
"formatted_address" : "1301 Lombard St, Philadelphia, PA 19147, USA",
"geometry" : {
"location" : {
"lat" : 39.9444071,
"lng" : -75.16317189999999
},
"location_type" : "RANGE_INTERPOLATED",
"viewport" : {
"northeast" : {
"lat" : 39.9457560802915,
"lng" : -75.16182291970848
},
"southwest" : {
"lat" : 39.9430581197085,
"lng" : -75.16452088029151
}
}
},
"place_id" : "EiwxMzAxIExvbWJhcmQgU3QsIFBoaWxhZGVscGhpYSwgUEEgMTkxNDcsIFVTQSIbEhkKFAoSCU38VoEkxsaJEedji1ij51aUEJUK",
"types" : [ "street_address" ]
}
],
"status" : "OK"
}
Вы пытаетесь использовать модель ресурса или сущность? вот как вы можете запросить таблицу с использованием необработанного SQL, но вам нужно знать имя таблицы.
$w = Mage::getSingleton('core/resource')->getConnection('core_write');
$result = $w->query('select entity_id from catalog_product_entity');
if (!$result) {
return false;
}
$row = $result->fetch(PDO::FETCH_ASSOC);
if (!$row) {
return false;
}
При попытке использовать всю модель, которую вы можете использовать
$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToFilter('entity_id', array('in' => array(1,2)));
$products->addAttributeToSelect('*');
$products->load();
foreach ($products as $_prod) {
var_dump($_prod->getData());
}
, я использую второй метод для своих пользовательских модулей, и он отлично работает для я надеюсь, этот ответ поможет :)
А как насчет объектов, у которых нет addAttributeToFilter
? Я часами пытался загрузить объект роли по его имени, но ничего не работает. Единственный возможный метод - загрузка, который работал бы отлично, если бы не необъяснимое
if (!intval($value) && is_string($value)) {
$field = 'role_id';
}
в Mage_Admin_Model_Mysql4_Role :: load
, которое только делает невозможным фильтрацию с использованием строкового значения.
Magento имеет Руби Голдберг
архитектура ...