Весь день я пытаюсь сделать этот цикл, но не могу понять.
У меня есть плагин для 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>';
}
?>
Но тогда содержимое не будет отображаться на странице.Главным образом потому, что этот кусок кода смешной.Будет полезна любая помощь, ссылки на учебные пособия, советы, часть кода или, по крайней мере, идея того, что мне следует искать здесь.