Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Dodanie okna z VR na stronie Wordpress
kolokilko
post 1.05.2018, 10:30:03
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 1.05.2018

Ostrzeżenie: (0%)
-----


Witam.
Mam problem.
Próbuję dodać do strony iframe z linkiem do VR. Normalnie wszystko śmiga (przynajmniej tak mi się wydaje biggrin.gif ) ale brakuje mi jednego szczegółu, którego nie rozumiem. Może jeszcze warto byłoby wspomnieć że raczkuję w PHP. Ale do rzeczy: uruchamiam stronę z nieruchomościami i chcę dodać kilka elementów, jak min. VR. Kupiłem gotową skórę, ale jak to zawsze bywa nie wszystko jest tak, jak się chce... Skopiowałem i przerobiłem kod odpowiadający za wyświetlanie video z youtube czy vimeo i dodałem jak widać w screenie

View

Powyżej video jest część "Virtual Tour", która ma być odpowiedzialna za wyświetlanie mojego VR. Normalnie gdy w kodzie wkleję sam iframe to śmiga ok, ale chcę, żeby można było dodać link od front-end.

Front-End

Zastanawia mnie jedna część kodu:
Kod
  <?php
                        $vr         = apartment_wp_rwmb_meta( 'apartment_wp_vr', array( 'source type' => 'url' ) );
                        $vr_link     = esc_html( apartment_wp_rwmb_meta( 'apartment_wp_vr_link' ) );
                        ?>
                        <?php if ( apartment_wp_framework_options( 'apartment_wp_property_virtual' ) && ( $vr_link || $vr ) ) : ?>
                        <div class="row margin-top-45">
                                <div class="col-xs-12">
                       <h5><?php esc_html_e( 'Virtual Tour', 'apartment-wp' ); ?><?php echo (( apartment_wp_framework_options( 'apartment_wp_dot' ) == true ) ? '<span class="special-color">.</span>' : '' ) ?></h5>
                       <div class="title-separator-primary"></div>
                                </div>
                            </div>
                            <?php elseif ( stripos( $vr_link, 'my.matterport.com' ) !== false || stripos( $vr_link, 'matterport.com' ) !== false ) : ?>    
                                                        <?php preg_match( "/^(?:http(?:s)?:\/\/)?(?:www\.)?(?:my.matterport.com\/|matterport.com\/(?:(?:show)?\?(?:.*&)?m(?:&)?=|(?:show|m|id)\/))([^\?&\"'>]+)/", $vr_link, $vr_id ); ?>
                       <div style="position:relative;height:0;overflow:hidden;padding-bottom:56.25%">
  <iframe
    allowfullscreen frameborder="0"
    src="https://my.matterport.com/show/<?php echo $vr_link; ?>"
    style="position: absolute;top:0;left:0;width:100%;height:100%">
  </iframe>
</div>
    
                                        <?php endif; ?>


W momencie, gdy zamienię "echo" w iframe na pełny link, np: https://my.matterport.com/show/?m=4auj4uqj7Ms lub http://virtualia.co.uk/virtual-tour/?id=571 również się nie wyświetla. Próbowałem również zastosować w "src=" sam znacznik echo ale efekt ten sam... sad.gif Wydaje mi się, że problem tkwi w części "preg_match", kompletnie jej nie kumam. Czy może mi ktoś pomóc z tym? A może źle jest napisany cały kod??
Dodam tylko, że podstawowy link zawiera tylko: "?m=" i " id" ale są jeszcze różne dodatkowe ustawienia jak: &lang=, &hl=, &play=, &mf= i wiele innych, których wynikiem jest 1 albo 0.


Proszę o pomoc jak to skleić, żeby działało?
Go to the top of the page
+Quote Post
SmokAnalog
post 2.05.2018, 09:02:37
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Rzeczywiście masz trochę pokićkane w tym preg_match, bo powinien łykać ID z parametru, a tego nie robi. Może to uprość? Przechowuj w bazie tylko ID, a potem do src iframe wklejaj sobie link z tym ID? Nie wiem co to u Ciebie jest $vr i $vr_link - po co aż dwa wpisy w bazie?
Go to the top of the page
+Quote Post
kolokilko
post 3.05.2018, 10:40:03
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 1.05.2018

Ostrzeżenie: (0%)
-----


Witam.
Dzięki @SmokAnalog. Otwirzyłeś mi oczy i... uprościłem. Jak wcześniej pisałem kod był kopiowany z okna do Youtube. Wywaliłem połowę i śmiga:

Kod
<?php
                        $vr_link     = esc_html( apartment_wp_rwmb_meta( 'apartment_wp_vr_link' ) );
                        ?>
                        <?php if ( apartment_wp_framework_options( 'apartment_wp_property_virtual' ) && ( $vr_link ) ) : ?>
                        <div class="row margin-top-45">
                                <div class="col-xs-12">
                       <h5><?php esc_html_e( 'Virtual Tour', 'apartment-wp' ); ?><?php echo (( apartment_wp_framework_options( 'apartment_wp_dot' ) == true ) ? '<span class="special-color">.</span>' : '' ) ?></h5>
                       <div class="title-separator-primary"></div>
                                </div>
                            </div>
                             
                        
                       <div style="position:relative;height:0;overflow:hidden;padding-bottom:56.25%">
  <iframe
    allowfullscreen frameborder="0"
    src="<?php echo $vr_link; ?>"
    style="position: absolute;top:0;left:0;width:100%;height:100%">
  </iframe>
</div>
    
                                        <?php endif; ?>


Jeszcze raz serdeczne dzięki. A propos preg_match, to myslałem, że trzeba określić parametry linku. Człowiek się uczy całe życie...
Pozdro
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.04.2024 - 01:16