Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use Drupal\views\Views;
- /**
- * @file
- * Bootstrap sub-theme.
- *
- * Place your custom PHP code in this file.
- */
- function realtheme_subtheme_preprocess_page(&$variables) {
- $site_config = \Drupal::config('system.site');
- $variables['site_name'] = $site_config->get('name');
- $variables['site_slogan'] = $site_config->get('slogan');
- $variables['site_logo'] = file_url_transform_relative(file_create_url(theme_get_setting('logo.url')));
- //si quieren tener la url del logo pueden accerlo de esta manera.
- $variables['url_logo'] = file_create_url(theme_get_setting('logo.url'));
- }
- function realtheme_subtheme_preprocess_commerce_product(&$variables) {
- $productsaya = $variables['elements']['#commerce_product'];
- if ($productsaya->bundle() =='jual_barang_selain_elektronik') {
- //ksm("esto es una");
- //ksm($productsaya->id() );
- $product = \Drupal\commerce_product\Entity\Product::load( $productsaya->id() );
- // ksm($product->id());
- // dpm($product->get ("field_jumlah_melihat_produk")->value );
- if ( isset( $product->get ("field_jumlah_melihat_produk")->value )) {
- $nilai =$product->get ("field_jumlah_melihat_produk")->value ;
- $nilai++;
- $product->get ("field_jumlah_melihat_produk")->value = $nilai;
- }
- else {
- $product->get ("field_jumlah_melihat_produk")->value = 1;
- }
- //dpm($product->get ("field_jumlah_melihat_produk")->value );
- $product->save();
- $variables['pengunjung'] = $product->get ("field_jumlah_melihat_produk")->value ;
- //use Drupal\views\Views;
- /*
- $arg=[$product->id()];
- $view=Views::getView('jumlah_jualan_produk');
- $view->setArguments($arg);
- $view->execute();
- $keputusan = $view->result;
- $variables['jualan'] = $keputusan[0]->commerce_order_item_quantity;
- */
- }
- if ($productsaya->bundle() =='default') {
- //ksm("esto es una");
- //ksm($productsaya->id() );
- $product = \Drupal\commerce_product\Entity\Product::load( $productsaya->id() );
- // ksm($product->id());
- // dpm($product->get ("field_jumlah_melihat_produk")->value );
- if ( isset( $product->get ("field_jumlah_melihat_produk")->value )) {
- $nilai =$product->get ("field_jumlah_melihat_produk")->value ;
- $nilai++;
- $product->get ("field_jumlah_melihat_produk")->value = $nilai;
- }
- else {
- $product->get ("field_jumlah_melihat_produk")->value = 1;
- }
- //dpm($product->get ("field_jumlah_melihat_produk")->value );
- $product->save();
- $variables['pengunjung'] = $product->get ("field_jumlah_melihat_produk")->value ;
- //use Drupal\views\Views;
- /*
- $arg=[$product->id()];
- $view=Views::getView('jumlah_jualan_produk');
- $view->setArguments($arg);
- $view->execute();
- $keputusan = $view->result;
- $variables['jualan'] = $keputusan[0]->commerce_order_item_quantity;
- */
- /* Produk wish list */
- $roles = Drupal::currentUser()->getRoles();
- // dpm($roles);
- if ( in_array ('authenticated', $roles) ) {
- $variables['if_you_are_authenticated'] = 'Ya';
- } else {
- $variables['if_you_are_authenticated'] = 'No';
- }
- $uid = Drupal::currentUser()->id();
- //dpm($uid);
- $usercomplete = Drupal\user\Entity\User::load( $uid );
- //ksm($usercomplete);
- $produk_wishlist=[];
- foreach ( $usercomplete->get('field_wish_list') as $senarai ) {
- $produk_wishlist[] = $senarai->target_id;
- }
- //dpm($produk_wishlist);
- if (in_array( $productsaya->id() , $produk_wishlist)) {
- $variables['terdapat_dalam_senarai'] = 'Ya';
- }
- else {
- $variables['terdapat_dalam_senarai'] = 'Tidak';
- }
- global $base_url;
- $variables['base_url'] = $base_url;
- $variables['product_id'] = $productsaya->id();
- //Tetapan untuk bahagian penarafan
- $variables['purata'] = $product->get ("field_floating_average")->value ;
- $variables['jumlah_penilaian'] = $product->get ("field_average_stars")->value ;
- $variables['penarafan_kerosakan'] = get_breakdown_grades ($productsaya->id());
- $contentidview=[];
- $args=[$productsaya->id()];
- $views = Views::getView('komen_dari_pelanggan');
- $views->setArguments($args);
- $views->setDisplay('block_1');
- $views->execute();
- $contentidview = $views->buildRenderable('block_1', $args);
- $variables['komen_dari_pelanggan'] = $contentidview;
- $contentidview=[];
- $args=[$productsaya->field_jenama->target_id ];
- $views = Views::getView('produk_rakemen');
- $views->setArguments($args);
- $views->setDisplay('block_1');
- $views->execute();
- $contentidview = $views->buildRenderable('block_1', $args);
- $variables['produk_rakemen'] = $contentidview;
- }
- }
- function realtheme_subtheme_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
- //verify formula
- if ($form_id == 'commerce_checkout_flow_multistep_default') {
- //dpm ('this is a test');
- //dpm($form_id );
- //cipta variable url lengkap
- $arg = explode('/', $_SERVER['REQUEST_URI']);
- //dpm($arg);
- $order_en_url=0;
- foreach ($arg as $key => $value) {
- if ( $value=='checkout') {
- $order_en_url = $key +1;
- break;
- }
- }
- $order_sebenar= $arg[$order_en_url];
- //dpm('order adalah :'.$order_sebenar );
- //dpm('dan dia :'. $order_en_url);
- //jika perkataan melengkapkan ini dalam array arg kemudian
- if (in_array('complete', $arg)) {
- //kami mengakses pesanan itu
- $order = \Drupal\commerce_order\Entity\Order::load( $order_sebenar );
- //ksm($order);
- //di sini kita mengakses semua item pesanan itu
- $all_order_items= $order->order_items;
- foreach ($all_order_items as $item) {
- //dpm($item->target_id);
- //akses item lengkap pesanan
- $order_item = \Drupal\commerce_order\Entity\OrderItem::load( $item->target_id);
- //ksm($order_item->get('purchased_entity')->target_id);
- if (!(isset($order_item->field_itemorder_date->value))) {
- $order_item->field_itemorder_rate_stars->value='';
- $order_item->save();
- }
- //kami membuat pembolehubah yang disebut idv yang akan mempunyai id variasi
- $idv = $order_item->get('purchased_entity')->target_id;
- //kita akses kepada variasi produk
- $variation = \Drupal\commerce_product\Entity\ProductVariation::load($idv);
- ksm($variation->product_id->target_id);
- //kami membuat pemboleh ubah untuk mendapatkan id produk
- $idproduct=$variation->product_id->target_id;
- //kami mengakses produk
- $product = \Drupal\commerce_product\Entity\Product::load( $idproduct );
- $arg=[$product->id()];
- $view=Views::getView('jumlah_jualan_produk');
- $view->setArguments($arg);
- $view->execute();
- $keputusan = $view->result;
- $product->field_jualan->value = $keputusan[0]->commerce_order_item_quantity;
- //ksm($product->field_jualan->value);
- $product->save();
- }//fin foreach
- global $base_url;
- $user_id_sebenar= Drupal::currentUser()->id();
- $link= $base_url.'/qualifypurchase/'.$order_sebenar;
- $akaun_saya= $base_url.'/user/';
- $order_dari_user= $base_url.'/user/'.$user_id_sebenar.'/orders/';
- $form['details'] = array(
- '#type' => 'details',
- '#title' => t('Informasi'),
- '#open' => true,
- );
- $form['details']['Informasi'] = array(
- '#type'=> 'item',
- //'#title'=> t('From'),
- '#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',
- );
- $form['details']['layak'] = array(
- '#type'=> 'item',
- //'#title'=> t('From'),
- '#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> ',
- );
- }
- }
- }
- function get_breakdown_grades ($product_id) {
- //use Drupal\views\Views;
- $bintang[5]=0;
- $bintang[4]=0;
- $bintang[3]=0;
- $bintang[2]=0;
- $bintang[1]=0;
- //dpm($bintang);
- $arg=[ $product_id ];
- $view=Views::getView('get_breakdown_grades');
- $view->setArguments($arg);
- $view->execute();
- $keputusanya = $view->result;
- foreach ($keputusanya as $keputusan){
- //ksm($keputusan);
- $nilai_bintang=$keputusan->commerce_order_item__field_itemorder_rate_stars_field_itemor;
- $jumlah_nilai=$keputusan->commerce_order_item__field_itemorder_date_field_itemorder_da;
- $bintang[$nilai_bintang]=$jumlah_nilai;
- }
- //dpm($bintang);
- $jumlah_penilaian = array_sum($bintang);
- //dpm($jumlah_penilaian);
- $bintang_dan_peratus =[];
- foreach ($bintang as $kunci => $satu_bintang ) {
- $bintang_dan_peratus[$kunci] ['peratusan'] = ( $satu_bintang / $jumlah_penilaian ) *100;
- $bintang_dan_peratus[$kunci] ['nilai'] = (int) $satu_bintang;
- }
- //ksm($bintang_dan_peratus );
- return $bintang_dan_peratus ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement