这篇文章主要描述利用wxParse将html转为wxml时,所遇到的问题和解决方法。本着干净利落的原则,尽量不费话。
- 主要内容:
- 利用wxParse插件将html转为wxml
- 如何处理wordpress传过来的多篇文章和多首音频
1.利用wxParse插件将html转为wxml
这是固定的几步,百度搜出来的教程扫两眼,跟着走也就可以了!
2.如何处理wordpress传过来的多篇文章和多首音频
- 2.1、文章的处理
对于微信小程序,推荐用wordpress作后台。
理由:wordpress后台插入文章时,可在文章中插入图片等,html格式的数据放在微信小程序前端,可用wxParse解析。
关键性语句:
// content是用后台获取的数据
var article = get_article(content);
WxParse.wxParse('article', 'html', article, that, 5);
问题:多篇文章怎么办?
解答:插件要求传入的字符串(第三个参数article),我们可以把多篇文章连起来,函数如下:
function get_article(content) {
var str_article = "";
for (var key in content) {
str_article += content[key].post_content;
}
return str_article;
}
- 2.2、音乐的处理
我尝试过,将音频插入在wordpress后台的文章里,无法利用插件wxParse进行解析。因此,音频文件是单独传过来的。
在js中可以这样解析音频:
function get_audio_object(content) {
var array = [];
for (var key in content) {
var obj = {};
obj.audio_cover_url = content[key].audio_cover_url;
obj.audio_title = content[key].audio_title;
obj.audio_url = content[key].audio_url;
array.push(obj)
}
return array;
}
简而言之,数组的每个元素是一个对象,每个对象是一首歌的信息。
理由是:方便小程序的前端循环输出。
<view wx:for = "{{audio}}" wx:for-item = "a">
<view wx:if = "{{a.audio_url != ''}}">
<audio poster="{{a.audio_cover_url}}" name="{{a.audio_title}}" src="{{a.audio_url}}" class="myAudio" author = "" controls="true"></audio>
</view>
</view>
数据是通过设置data连接的:
var audio = get_audio_object(content);
that.setData({
audio: audio,
})
全文结束