Как написать петлю переднего плана в этой ситуации? - PullRequest
0 голосов
/ 02 января 2012

Весь день я пытаюсь сделать этот цикл, но не могу понять.

У меня есть плагин для WordPress под названием электронная коммерция.На одной странице продукта мне нужно создать простой переключатель JavaScript display:none - display:block.


Я использую этот JavaScript:

<script language="JavaScript">
//here you place the ids of every element you want.
var ids=new Array('a1','a2','a3','thiscanbeanything');

function switchid(id){  
    hideallids();
    showdiv(id);
}

function hideallids(){
    //loop through the array and hide each element by id
    for (var i=0;i<ids.length;i++){
        hidediv(ids[i]);
    }         
}

function hidediv(id) {
    //safe function to hide an element with a specified id
    if (document.getElementById) { // DOM3 = IE5, NS6
        document.getElementById(id).style.display = 'none';
    }
    else {
        if (document.layers) { // Netscape 4
            document.id.display = 'none';
        }
        else { // IE 4
            document.all.id.style.display = 'none';
        }
    }
}

function showdiv(id) {
    //safe function to show an element with a specified id

    if (document.getElementById) { // DOM3 = IE5, NS6
        document.getElementById(id).style.display = 'block';
    }
    else {
        if (document.layers) { // Netscape 4
            document.id.display = 'block';
        }
        else { // IE 4
            document.all.id.style.display = 'block';
        }
    }
}
</script>

И этот HTML:

<p>Try these: <a href="javascript:switchid('a1');">show a1</a>
<a href="javascript:switchid('a2');">show a2</a>
<a href="javascript:switchid('a3');">show a3</a>
<a href="javascript:switchid('thiscanbeanything');">show 'thiscanbeanything'</a></p>

<hr/>

    <div id='a1' style="display:block;">
        <h2>Sample text:</h2>
        <p><b>Jean-Paul Sartre, (1905-1980)</b> born in Paris in 1905...</p>
    </div>

    <div id='a2' style="display:none;">
        <h3>More on JPS</h3>
        <p>The conclusions a writer must draw from this position...</p>

    </div>

    <div id='a3' style="display:none;">


        <p>Yet more content. This can be anything in here, html,
        pictures.. flash ...</p>
    </div>

    <div id='thiscanbeanything' style="display:none;">
        <h3>This content is in a div with id "thicanbeanything"</h3>    
            <p>Sartre is one of those writers for whom a determined...</p>
    </div>

Мне нужно поставить этот HTML иJavascript в этом куске кода.Это из основного файла электронной коммерции для отображения одного продукта:

<?php /** the custom meta HTML and loop */ ?>
                            <div class="custom_meta">
                                <?php while (wpsc_have_custom_meta()) : wpsc_the_custom_meta();     
                                        if (stripos(wpsc_custom_meta_name(),'g:') !== FALSE){
                                            continue;
                                        }
                                    ?>
                                    <strong><?php echo wpsc_custom_meta_name(); ?>: </strong><?php echo wpsc_custom_meta_value(); ?><br />
                                <?php endwhile; ?>
                            </div>
                        <?php /** the custom meta HTML and loop ends here */?>

Все вызывается через одну единственную переменную: $wpsc_query;.Вот значения, которые мы ищем:

[custom_meta_values] => Array ( [id] => 75 [product_id] => 6 [meta_key] => Product code [meta_value] => 123123123123 [custom] => 1 )

Так что в основном мне нужно создать цикл, который принимает каждые meta_key и meta_value сохраненные в настройках продукта плагинов в бэкэнде WordPress.И создайте цикл, который будет принимать эти значения, помещать их в <div> и помещать туда ссылку <a> в JavaScript.


PS Я искал что-то вроде:

<?php
                                    foreach ($wpsc_query->custom_meta_values['meta_key']) {

                                    print '<div class="single_menus_wrapper">';
                                    print '<a href="javascript:switchid("single_menu_' . custom_meta_$i . '");">show single_menus_title</a>';
                                    print '<div id="single_menu_' . custom_meta_$i . '"><div class="single_menus_holder">';
                                     print '<div class="single_menus_title">' . echo wpsc_custom_meta_name(). ':</div>';
                                    print '<div class="single_menus_description">' . echo wpsc_custom_meta_value() . '</div>';
                                    print '</div></a></div>';
                                   }
                                    ?>

Но тогда содержимое не будет отображаться на странице.Главным образом потому, что этот кусок кода смешной.Будет полезна любая помощь, ссылки на учебные пособия, советы, часть кода или, по крайней мере, идея того, что мне следует искать здесь.

1 Ответ

1 голос
/ 02 января 2012

Просматривая ваш исходный код, я думаю, на самом деле вы хотите "функциональность вкладок" на странице сведений о продукте,

, поэтому в этом случае (если я правильно понял)

вы можете использовать WordPress Post-tabs , см. Третий снимок экрана и соответственно добавьте название вкладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...