вопрос решился!!!
в файле-обработчике вставил тело функции uc_cart_remove_item немного измененное:
$cart_id = uc_cart_get_id();
$nid = $_POST['nid'];
$efq = new EntityFieldQuery();
$result = $efq->entityCondition('entity_type', 'uc_cart_item')
->propertyCondition('cart_id', $cart_id)
->propertyCondition('nid', $nid)
//->propertyCondition('data', serialize($data))
->execute();
if (!empty($result['uc_cart_item'])) {
там тоже через эти функции... в конечном итоге везде entity_delete_multiple('uc_cart_item', array_keys($result['uc_cart_item']));
видимо она и не работает в моем файле-обработчике... вот только почему?
bootstrap же должен подключить drupal/includes/entity.inc?
пробовал этот хук в своем модуле, не смог посмотреть $items, чтобы узнать у каких менять вес... ((((
сделал так: в ..._preprocess_page переставил местами элементы массива $vars['tabs']['#primary']
Работает, но это мне кажется не по друпаловски ))))
Если метод объекта возвращает объект-владелец ($this), то следующий метод можно вызывать "по цепочке":
<?php
$res = db_select('node', 'a')->leftJoin('field_data_body', 'b', 'b.entity_id=a.nid');
элементарно же в ошибке было указано, что метод fields() был вызван не для объекта, а в данном случае для строки, которую возвратил предыдущий последовательно вызванный метод leftJoin, возвративший алиас приджоиненой таблицы
в ошибке всего то написано что функция вызвана не на объект. остальное уже это твои знания... которых у меня нет в этом вопросе, поэтому и спросил.
ага, спасибо, более понятно теперь... просто я по разному местами менял вызовы методов, а вот непосредственно из самого объекта их не вызывал... теперь так буду...
спасибо, это работает!
так а причина то в чем?
в порядке следования запросов?
или вот так писать нельзя:
->fields('a', array('nid', 'title'))
->range(0, 3)
->execute()
, а нужно строго:
$query->fields(...);
$query->range(...);
$result = $query->execute();
т.е. разделять запросы?
Еще раз спасибо. но хотелось бы уловить ошибку на будущее...
ну а конкретно можешь указать на ошибки?
или покажи как правильно составить на drupal 7 например простейший запрос: SELECT a.nid, a.title, b.body_value FROM node a LEFT JOIN field_data_body b ON b.entity_id=a.nid
?
Вывод результата работы формы
я в _submit вставил $form_state['rebuild'] = TRUE, тогда все заработало...
Отсутствие результатов в представлении
Спасибо! Буду пробовать....
[Решен] Программное удаление товара из корзины
вопрос решился!!!
в файле-обработчике вставил тело функции uc_cart_remove_item немного измененное:
$cart_id = uc_cart_get_id();
$nid = $_POST['nid'];
$efq = new EntityFieldQuery();
$result = $efq->entityCondition('entity_type', 'uc_cart_item')
->propertyCondition('cart_id', $cart_id)
->propertyCondition('nid', $nid)
//->propertyCondition('data', serialize($data))
->execute();
if (!empty($result['uc_cart_item'])) {
[Решен] Программное удаление товара из корзины
там тоже через эти функции... в конечном итоге везде entity_delete_multiple('uc_cart_item', array_keys($result['uc_cart_item']));
видимо она и не работает в моем файле-обработчике... вот только почему?
bootstrap же должен подключить drupal/includes/entity.inc?
Как изменить расположение ссылок в tabs
Спасибо, разобрался...
Как изменить расположение ссылок в tabs
пробовал этот хук в своем модуле, не смог посмотреть $items, чтобы узнать у каких менять вес... ((((
сделал так: в ..._preprocess_page переставил местами элементы массива $vars['tabs']['#primary']
Работает, но это мне кажется не по друпаловски ))))
Не работает запрос к бд
Не работает запрос к бд
)))
в ошибке всего то написано что функция вызвана не на объект. остальное уже это твои знания... которых у меня нет в этом вопросе, поэтому и спросил.
Не работает запрос к бд
ага, спасибо, более понятно теперь... просто я по разному местами менял вызовы методов, а вот непосредственно из самого объекта их не вызывал... теперь так буду...
Не работает запрос к бд
ладно, к сожалению не "доходит" до меня это объяснение (((
спасибо и на этом, буду экспериментировать, на практике "дойдет"...
Не работает запрос к бд
спасибо, это работает!
так а причина то в чем?
в порядке следования запросов?
или вот так писать нельзя:
->fields('a', array('nid', 'title'))
->range(0, 3)
->execute()
, а нужно строго:
$query->fields(...);
$query->range(...);
$result = $query->execute();
т.е. разделять запросы?
Еще раз спасибо. но хотелось бы уловить ошибку на будущее...
Не работает запрос к бд
ну а конкретно можешь указать на ошибки?
или покажи как правильно составить на drupal 7 например простейший запрос: SELECT a.nid, a.title, b.body_value FROM node a LEFT JOIN field_data_body b ON b.entity_id=a.nid
?