Guest User

Untitled

a guest
Jun 13th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.79 KB | None | 0 0
  1. <?php
  2. require_once MODX_CORE_PATH . 'model/modx/modrequest.class.php';
  3. $txt = '';
  4. $config = $modx->config;
  5.  
  6. $dsn = $config['dsn'];
  7. $user = $config['username'];
  8. $password = $config['password'];
  9.  
  10. $request = new modRequest($modx);
  11. if($request->getParameters('models_id')) {
  12.  
  13. try {
  14. $dbh = new PDO($dsn, $user, $password);
  15. } catch (PDOException $e) {
  16. echo 'Connection failed: ' . $e->getMessage();
  17. }
  18.  
  19. $query = $dbh->prepare("
  20. SELECT paramvalues.id as model_id, paramvalues.value as model_name, pv.id as mark_id, pv.value as mark_name
  21. FROM paramvalues
  22. JOIN paramvalues pv ON paramvalues.parent = pv.id
  23. WHERE paramvalues.id = :id
  24. ");
  25.  
  26. $txt .= $modx->getChunk('startProductsBlock');
  27. $models = array($request->getParameters('models_id'));
  28.  
  29. foreach($models as $modelId) {
  30.  
  31. $query->execute(array('id' => $modelId));
  32.  
  33. $selected = $query->fetch(PDO::FETCH_OBJ);
  34. $modx->setPlaceholder('model', $selected->model_name);
  35. $modx->setPlaceholder('mark', $selected->mark_name);
  36. $modx->setPlaceholder('model_id', $selected->model_id);
  37. $modx->setPlaceholder('mark_id', $selected->mark_id);
  38. $txt .= $modx->getChunk('productBreadcrumb');
  39.  
  40. }
  41. $txt .= $modx->getChunk('startProductTable');
  42.  
  43.  
  44.  
  45. foreach($models as $modelId) {
  46. $query = $dbh->prepare("
  47. SELECT * FROM params WHERE paramnames_id = '13616' AND paramvalues_id = :parent
  48. ");
  49. $query->execute(array('parent' => $modelId));
  50.  
  51. $result = $query->fetchAll();
  52. $i = 0;
  53. foreach($result as $row) {
  54. if($i%2 == 0) $txt .= "<tr>";
  55. $i++;
  56. $query = $dbh->prepare("
  57. SELECT *
  58. FROM params
  59. LEFT JOIN paramvalues ON params.paramvalues_id = paramvalues.id
  60. LEFT JOIN nomenkl ON params.nomenkl_id = nomenkl.id
  61. WHERE `nomenkl_id` = :parent AND (params.paramnames_id = '6' OR params.paramnames_id = '13618' OR params.paramnames_id = '13613' OR params.paramnames_id = '13619' OR params.paramnames_id = '13615')
  62. ");
  63. $query->execute(array('parent' => $row['nomenkl_id']));
  64. $product = $query->fetchAll();
  65. $res = array();
  66. foreach($product as $tmp) {
  67. $res[$tmp['paramnames_id']] = $tmp['value'];
  68. }
  69.  
  70. $modx->setPlaceholder('price', $res['6']);
  71. $modx->setPlaceholder('description', $res['13615']);
  72. $modx->setPlaceholder('image', $res['13619']);
  73. $modx->setPlaceholder('article', $product[0]['article']);
  74. $modx->setPlaceholder('quantity', $product[0]['quantity']);
  75. $modx->setPlaceholder('title', $product[0]['nomenklname']);
  76. $modx->setPlaceholder('cat', $res['13618']);
  77. $modx->setPlaceholder('product_id', $row['nomenkl_id']);
  78. $txt .= $modx->getChunk('product');
  79. if($i%2 == 0) $txt .= "</tr>";
  80. }
  81. }
  82. $txt .= $modx->getChunk('endProductTable');
  83. $txt .= $modx->getChunk('endProductsBlock');
  84. return $txt;
  85. }
Add Comment
Please, Sign In to add comment