2012-09-13 58 views
2

Hello Shopfiy Developers!Notes屬性語法已更改? - 通過API調用的Notes屬性失敗

我遇到了通過API調用的notes屬性的問題。它曾經一直持續到一個月前,然後事情開始橫掃。有任何語法改變?這裏是我的代碼片段,它在for循環中返回一個錯誤。

錯誤消息 「未定義指數:note_attribute就在在foreach行」

// Overwrite custom status field if it's defined in note-attributes 
if(array_key_exists('note-attributes', $o)) 
{ 
    // For whatever reason, the note-attributes are formatted 
    // differently if there's only one key => value pair 
    // (* see examples at end of this file) 
    // If the note-attribute array has the key 'name' in it, it's just a single pair. 
    // Otherwise, the note-attribute array would be numerically indexed with keys 0,1,2.. etc 
    if(array_key_exists('name',$o['note-attributes']['note_attribute'])) 
    { 
     if($o['note-attributes']['note_attribute']['name'] == "custom_status") 
      $arr_tmp[7] = $o['note-attributes']['note_attribute']['value'] ; 
    } 
    else 
    { 
     foreach($o['note-attributes']['note_attribute'] as $na) //Fails here 
     { 
      if($na['name'] == "custom_status") 
       $arr_tmp[7] = $na['value'] ; 
     } 
    } 
} 

你的幫助是非常讚賞。謝謝。

+0

我認爲發佈錯誤消息可能會有所幫助。 – l4mpi

+0

錯誤消息「Undefined index:note_attribute right on the foreach line」 –

+0

因此'$ o ['note-attributes']'沒有'note_attribute'元素。但如果是這樣的話,我會認爲'array_key_exists'檢查if是否應該引發相同的錯誤... – l4mpi

回答

1

這裏的問題是由於XML節點語法的改變造成的; Shopify發生了迴歸,在響應中將note-attributes更改爲note_attributes,並將其改回。