Advertisement
sairi

Untitled

Aug 10th, 2019
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.06 KB | None | 0 0
  1. <?php
  2.  
  3. use Drupal\views\Views;
  4.  
  5. /**
  6. * @file
  7. * Bootstrap sub-theme.
  8. *
  9. * Place your custom PHP code in this file.
  10. */
  11.  
  12.  
  13.  
  14.  
  15. function realtheme_subtheme_preprocess_page(&$variables) {
  16. $site_config = \Drupal::config('system.site');
  17. $variables['site_name'] = $site_config->get('name');
  18. $variables['site_slogan'] = $site_config->get('slogan');
  19.  
  20. $variables['site_logo'] = file_url_transform_relative(file_create_url(theme_get_setting('logo.url')));
  21.  
  22. //si quieren tener la url del logo pueden accerlo de esta manera.
  23. $variables['url_logo'] = file_create_url(theme_get_setting('logo.url'));
  24. }
  25.  
  26.  
  27.  
  28.  
  29. function realtheme_subtheme_preprocess_commerce_product(&$variables) {
  30.  
  31.  
  32. $productsaya = $variables['elements']['#commerce_product'];
  33.  
  34.  
  35. if ($productsaya->bundle() =='jual_barang_selain_elektronik') {
  36.  
  37. //ksm("esto es una");
  38. //ksm($productsaya->id() );
  39.  
  40. $product = \Drupal\commerce_product\Entity\Product::load( $productsaya->id() );
  41.  
  42. // ksm($product->id());
  43.  
  44. // dpm($product->get ("field_jumlah_melihat_produk")->value );
  45.  
  46. if ( isset( $product->get ("field_jumlah_melihat_produk")->value )) {
  47.  
  48. $nilai =$product->get ("field_jumlah_melihat_produk")->value ;
  49. $nilai++;
  50.  
  51.  
  52. $product->get ("field_jumlah_melihat_produk")->value = $nilai;
  53.  
  54. }
  55.  
  56. else {
  57. $product->get ("field_jumlah_melihat_produk")->value = 1;
  58. }
  59.  
  60. //dpm($product->get ("field_jumlah_melihat_produk")->value );
  61.  
  62. $product->save();
  63.  
  64.  
  65. $variables['pengunjung'] = $product->get ("field_jumlah_melihat_produk")->value ;
  66.  
  67.  
  68. //use Drupal\views\Views;
  69. /*
  70. $arg=[$product->id()];
  71. $view=Views::getView('jumlah_jualan_produk');
  72. $view->setArguments($arg);
  73. $view->execute();
  74. $keputusan = $view->result;
  75.  
  76. $variables['jualan'] = $keputusan[0]->commerce_order_item_quantity;
  77.  
  78. */
  79.  
  80.  
  81. }
  82.  
  83. if ($productsaya->bundle() =='default') {
  84.  
  85. //ksm("esto es una");
  86. //ksm($productsaya->id() );
  87.  
  88. $product = \Drupal\commerce_product\Entity\Product::load( $productsaya->id() );
  89.  
  90. // ksm($product->id());
  91.  
  92. // dpm($product->get ("field_jumlah_melihat_produk")->value );
  93.  
  94. if ( isset( $product->get ("field_jumlah_melihat_produk")->value )) {
  95.  
  96. $nilai =$product->get ("field_jumlah_melihat_produk")->value ;
  97. $nilai++;
  98.  
  99.  
  100. $product->get ("field_jumlah_melihat_produk")->value = $nilai;
  101.  
  102. }
  103.  
  104. else {
  105. $product->get ("field_jumlah_melihat_produk")->value = 1;
  106. }
  107.  
  108. //dpm($product->get ("field_jumlah_melihat_produk")->value );
  109.  
  110. $product->save();
  111.  
  112.  
  113. $variables['pengunjung'] = $product->get ("field_jumlah_melihat_produk")->value ;
  114.  
  115.  
  116. //use Drupal\views\Views;
  117. /*
  118. $arg=[$product->id()];
  119. $view=Views::getView('jumlah_jualan_produk');
  120. $view->setArguments($arg);
  121. $view->execute();
  122. $keputusan = $view->result;
  123.  
  124. $variables['jualan'] = $keputusan[0]->commerce_order_item_quantity;
  125.  
  126. */
  127.  
  128.  
  129.  
  130. /* Produk wish list */
  131.  
  132.  
  133. $roles = Drupal::currentUser()->getRoles();
  134.  
  135. // dpm($roles);
  136.  
  137. if ( in_array ('authenticated', $roles) ) {
  138.  
  139. $variables['if_you_are_authenticated'] = 'Ya';
  140. } else {
  141. $variables['if_you_are_authenticated'] = 'No';
  142. }
  143.  
  144.  
  145. $uid = Drupal::currentUser()->id();
  146.  
  147. //dpm($uid);
  148.  
  149. $usercomplete = Drupal\user\Entity\User::load( $uid );
  150.  
  151. //ksm($usercomplete);
  152.  
  153. $produk_wishlist=[];
  154. foreach ( $usercomplete->get('field_wish_list') as $senarai ) {
  155. $produk_wishlist[] = $senarai->target_id;
  156.  
  157. }
  158. //dpm($produk_wishlist);
  159.  
  160. if (in_array( $productsaya->id() , $produk_wishlist)) {
  161.  
  162. $variables['terdapat_dalam_senarai'] = 'Ya';
  163. }
  164. else {
  165.  
  166. $variables['terdapat_dalam_senarai'] = 'Tidak';
  167. }
  168.  
  169. global $base_url;
  170.  
  171. $variables['base_url'] = $base_url;
  172.  
  173. $variables['product_id'] = $productsaya->id();
  174.  
  175.  
  176. //Tetapan untuk bahagian penarafan
  177.  
  178. $variables['purata'] = $product->get ("field_floating_average")->value ;
  179.  
  180. $variables['jumlah_penilaian'] = $product->get ("field_average_stars")->value ;
  181.  
  182. $variables['penarafan_kerosakan'] = get_breakdown_grades ($productsaya->id());
  183.  
  184.  
  185.  
  186.  
  187. $contentidview=[];
  188. $args=[$productsaya->id()];
  189.  
  190. $views = Views::getView('komen_dari_pelanggan');
  191.  
  192. $views->setArguments($args);
  193.  
  194. $views->setDisplay('block_1');
  195.  
  196. $views->execute();
  197.  
  198. $contentidview = $views->buildRenderable('block_1', $args);
  199.  
  200. $variables['komen_dari_pelanggan'] = $contentidview;
  201.  
  202.  
  203.  
  204.  
  205. $contentidview=[];
  206. $args=[$productsaya->field_jenama->target_id ];
  207.  
  208. $views = Views::getView('produk_rakemen');
  209.  
  210. $views->setArguments($args);
  211.  
  212. $views->setDisplay('block_1');
  213.  
  214. $views->execute();
  215.  
  216. $contentidview = $views->buildRenderable('block_1', $args);
  217.  
  218. $variables['produk_rakemen'] = $contentidview;
  219.  
  220.  
  221.  
  222. }
  223.  
  224.  
  225. }
  226.  
  227.  
  228. function realtheme_subtheme_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  229.  
  230. //verify formula
  231.  
  232. if ($form_id == 'commerce_checkout_flow_multistep_default') {
  233. //dpm ('this is a test');
  234. //dpm($form_id );
  235. //cipta variable url lengkap
  236. $arg = explode('/', $_SERVER['REQUEST_URI']);
  237. //dpm($arg);
  238.  
  239. $order_en_url=0;
  240.  
  241. foreach ($arg as $key => $value) {
  242. if ( $value=='checkout') {
  243. $order_en_url = $key +1;
  244. break;
  245.  
  246. }
  247. }
  248. $order_sebenar= $arg[$order_en_url];
  249. //dpm('order adalah :'.$order_sebenar );
  250. //dpm('dan dia :'. $order_en_url);
  251.  
  252. //jika perkataan melengkapkan ini dalam array arg kemudian
  253. if (in_array('complete', $arg)) {
  254.  
  255. //kami mengakses pesanan itu
  256. $order = \Drupal\commerce_order\Entity\Order::load( $order_sebenar );
  257. //ksm($order);
  258.  
  259. //di sini kita mengakses semua item pesanan itu
  260. $all_order_items= $order->order_items;
  261.  
  262. foreach ($all_order_items as $item) {
  263. //dpm($item->target_id);
  264.  
  265. //akses item lengkap pesanan
  266. $order_item = \Drupal\commerce_order\Entity\OrderItem::load( $item->target_id);
  267.  
  268. //ksm($order_item->get('purchased_entity')->target_id);
  269.  
  270.  
  271.  
  272. if (!(isset($order_item->field_itemorder_date->value))) {
  273. $order_item->field_itemorder_rate_stars->value='';
  274. $order_item->save();
  275. }
  276.  
  277. //kami membuat pembolehubah yang disebut idv yang akan mempunyai id variasi
  278. $idv = $order_item->get('purchased_entity')->target_id;
  279.  
  280. //kita akses kepada variasi produk
  281. $variation = \Drupal\commerce_product\Entity\ProductVariation::load($idv);
  282.  
  283. ksm($variation->product_id->target_id);
  284.  
  285. //kami membuat pemboleh ubah untuk mendapatkan id produk
  286. $idproduct=$variation->product_id->target_id;
  287.  
  288. //kami mengakses produk
  289. $product = \Drupal\commerce_product\Entity\Product::load( $idproduct );
  290.  
  291.  
  292.  
  293. $arg=[$product->id()];
  294. $view=Views::getView('jumlah_jualan_produk');
  295. $view->setArguments($arg);
  296. $view->execute();
  297. $keputusan = $view->result;
  298.  
  299. $product->field_jualan->value = $keputusan[0]->commerce_order_item_quantity;
  300. //ksm($product->field_jualan->value);
  301.  
  302. $product->save();
  303.  
  304. }//fin foreach
  305.  
  306.  
  307. global $base_url;
  308.  
  309. $user_id_sebenar= Drupal::currentUser()->id();
  310.  
  311. $link= $base_url.'/qualifypurchase/'.$order_sebenar;
  312.  
  313. $akaun_saya= $base_url.'/user/';
  314.  
  315. $order_dari_user= $base_url.'/user/'.$user_id_sebenar.'/orders/';
  316.  
  317.  
  318. $form['details'] = array(
  319. '#type' => 'details',
  320. '#title' => t('Informasi'),
  321. '#open' => true,
  322. );
  323.  
  324.  
  325. $form['details']['Informasi'] = array(
  326. '#type'=> 'item',
  327. //'#title'=> t('From'),
  328. '#markup'=> 'untuk melihat butiran pesanan anda, anda boleh pergi ke pilihan <a href="'.$akaun_saya.'" > akaun saya </a> dan menekan <a href="'.$order_dari_user.'" > Pesanan </a> pilihan',
  329.  
  330. );
  331.  
  332.  
  333. $form['details']['layak'] = array(
  334. '#type'=> 'item',
  335. //'#title'=> t('From'),
  336. '#markup'=> '<a class="btn btn-success" href="'.$link. '" > <i class="fas fa-star"></i><i class="fas fa-star"></i><i class="fas fa-star"></i><i class="fas fa-star"></i><i class="fas fa-star"></i> Rate pembelian ini </a> ',
  337.  
  338. );
  339. }
  340. }
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348. }
  349.  
  350.  
  351.  
  352.  
  353. function get_breakdown_grades ($product_id) {
  354.  
  355. //use Drupal\views\Views;
  356.  
  357. $bintang[5]=0;
  358. $bintang[4]=0;
  359. $bintang[3]=0;
  360. $bintang[2]=0;
  361. $bintang[1]=0;
  362.  
  363. //dpm($bintang);
  364.  
  365.  
  366. $arg=[ $product_id ];
  367. $view=Views::getView('get_breakdown_grades');
  368.  
  369. $view->setArguments($arg);
  370.  
  371. $view->execute();
  372.  
  373. $keputusanya = $view->result;
  374.  
  375. foreach ($keputusanya as $keputusan){
  376.  
  377. //ksm($keputusan);
  378.  
  379. $nilai_bintang=$keputusan->commerce_order_item__field_itemorder_rate_stars_field_itemor;
  380. $jumlah_nilai=$keputusan->commerce_order_item__field_itemorder_date_field_itemorder_da;
  381.  
  382. $bintang[$nilai_bintang]=$jumlah_nilai;
  383.  
  384.  
  385. }
  386.  
  387.  
  388. //dpm($bintang);
  389.  
  390. $jumlah_penilaian = array_sum($bintang);
  391.  
  392. //dpm($jumlah_penilaian);
  393.  
  394.  
  395.  
  396. $bintang_dan_peratus =[];
  397.  
  398. foreach ($bintang as $kunci => $satu_bintang ) {
  399.  
  400. $bintang_dan_peratus[$kunci] ['peratusan'] = ( $satu_bintang / $jumlah_penilaian ) *100;
  401. $bintang_dan_peratus[$kunci] ['nilai'] = (int) $satu_bintang;
  402.  
  403.  
  404. }
  405.  
  406. //ksm($bintang_dan_peratus );
  407. return $bintang_dan_peratus ;
  408.  
  409.  
  410. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement