Как получить id товара по артикулу (article) в Minishop?

Здравствуйте, нужно выгрузить в магазин Minishop2 опции товаров с ценами, в таблице modx_msop2_price опции привязаны к ID, а документе CSV идентификаторы товаров — артикулы. Т.е. при загрузке получить id по артикулу, и по этому id добавить опции. Но вот я никак не могу получить id. Использовал getCollection, по тайтлу он находит, а как указываю article — не хочет.
Как получить id по артикулу?
Александр
22 сентября 2018, 20:19
modx.pro
2 028
0

Комментарии: 3

snyadanak
23 сентября 2018, 00:11
0
Немного не понял задачу, но на вопрос Как получить id товара по артикулу (article) в Minishop? вроде как то так:

$where = [ 'article' => 'вводимый артикул' ];
$resources = $modx->getCollection('msProduct',$where);

foreach ($resources as $key => $res) {
  $output = $res->get('id');
}
Если артикулы все уникальные, то можно сделать массив «артикул => id» и по ключу выводить любой айди
$resources = $modx->getCollection('msProduct');

foreach ($resources as $key => $res) {
    $article = $res->get('article');
    $id = $res->get('id');
    $arr[$article] = $id;
}
echo $arr['какой то артикул'];
    Александр
    23 сентября 2018, 00:22
    0
    По задаче: на сайте есть опции товаров, т.е. Одеяло (товар) -> Размер Одеяло 2 на 2 цена: 500р. (размер с ценой). Вот эти размеры я и хочу загрузить на сайт из csv, все эти размеры — это не полноценные ресурсы и хранятся в в таблице БД modx_msop2_price, вот в эту таблицу я и хочу залить все размеры, но в csv нет id товаров, по которым я смогу добавить, а есть артикулы, они уникальные, по артикулу и нужно найти id
      snyadanak
      23 сентября 2018, 01:11
      0
      Если в таблице есть артикулы, по которым нужно найти id в той же таблице, то что-то вроде того

      $article = 'какой то артикул';
      
      $sql= mysql_query("SELECT * FROM `modx_msop2_price` WHERE `article` = $article",$db);
      
      $out = mysql_fetch_array($sql);
      return $out['id'];
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    3