Api.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. namespace Attr\Src;
  3. use Dever;
  4. class Api
  5. {
  6. /**
  7. * 获取属性配置
  8. *
  9. * @return mixed
  10. */
  11. public function get()
  12. {
  13. $cate = Dever::db('attr/cate')->state();
  14. if ($cate) {
  15. foreach ($cate as $k => $v) {
  16. $cate[$k]['child'] = Dever::db('attr/info')->state(array('cate_id' => $v['id']));
  17. }
  18. }
  19. $cate['state'] = 1;
  20. return $cate;
  21. }
  22. /**
  23. * 获取属性详细信息,有类别
  24. *
  25. * @return mixed
  26. */
  27. public function getInfo($ids, $value)
  28. {
  29. $result = array();
  30. if ($ids) {
  31. $where['ids'] = $ids;
  32. $cate = Dever::db('attr/cate')->state();
  33. $data = Dever::db('attr/info')->getAllByIds($where);
  34. $ids = explode(',', $ids);
  35. $value = explode(',', $value);
  36. if ($data) {
  37. foreach ($ids as $k => $v) {
  38. if (isset($data[$v])) {
  39. $cate_id = $data[$v]['cate_id'];
  40. if (!isset($result[$cate_id])) {
  41. $result[$cate_id] = array
  42. (
  43. 'name' => $cate[$cate_id]['name'],
  44. 'id' => $cate_id
  45. );
  46. }
  47. $result[$cate_id]['attr'][$v] = array
  48. (
  49. 'name' => $data[$v]['name'],
  50. 'value' => $value[$k],
  51. 'id' => $v
  52. );
  53. }
  54. }
  55. }
  56. }
  57. return $result;
  58. }
  59. /**
  60. * 获取属性的值,无类别
  61. *
  62. * @return mixed
  63. */
  64. public function getValue($ids, $value)
  65. {
  66. $result = array();
  67. if ($ids) {
  68. $where['ids'] = $ids;
  69. $data = Dever::db('attr/info')->getAllByIds($where);
  70. $ids = explode(',', $ids);
  71. $value = explode(',', $value);
  72. if ($data) {
  73. foreach ($ids as $k => $v) {
  74. if (isset($data[$v])) {
  75. $result[$v] = $data[$v];
  76. if (isset($value) && $value[$k]) {
  77. $result[$v]['value'] = $value[$k];
  78. } else {
  79. $result[$v]['value'] = '';
  80. }
  81. }
  82. }
  83. }
  84. }
  85. return $result;
  86. }
  87. /**
  88. * 获取属性的值,无类别
  89. *
  90. * @return mixed
  91. */
  92. public function string($ids, $value)
  93. {
  94. $result = $this->getInfo($ids, $value);
  95. $table = array();
  96. foreach ($result as $k => $v) {
  97. $table[$v['name']] = '';
  98. foreach ($v['attr'] as $k1 => $v1) {
  99. $table[$v['name']] .= $v1['name'] . "&nbsp;&nbsp;";
  100. }
  101. }
  102. return Dever::table($table);
  103. }
  104. }