0

我无法让 TBS 将我作为参数引用的字段之一合并到函数中。eventid 被合并,但 eventdate 没有。关于为什么的任何想法?

[blk.mp3filename; onformat=f_constructPath; year=[blk.eventdate; frm='YYYY'; noerr]; eventid=[blk.eventid; noerr]; strconv=no; noerr]

eventdate 字段存在,因为我可以将 TBS 标记移动到页面上的其他位置并返回数据。我尝试使用 ondata,但从未调用过该函数,所以我使用了 onformat。

[blk.mp3filename; ondata=f_constructPath; strconv=no; noerr]

这是带有 ondata 语句版本的代码的较大部分:

<div class="row">
    <div class="col-12 col-md-2">
        <img class="FBC_thumb" src="_resources/images/persons/[blk.imagefilename; magnet=img; noerr]" alt="[blk.greeting; strconv=no; noerr] [blk.firstname; strconv=no; noerr] [blk.lastname; strconv=no; noerr]">
    </div>
    <div class="col-12 col-md-10">
        <h3 class="FBC_sermon-title">[blk.title; strconv=no; magnet=div; noerr]</h3>
        <div class="FBC_speakername font-weight-bold"><span>[blk.greeting; magnet=span; strconv=no; noerr] </span>[blk.firstname; magnet=p; strconv=no; noerr] [blk.lastname; magnet=p; strconv=no; noerr]</div>
        <div class="FBC_bioshort">[blk.bioshort; magnet=p; strconv=no; noerr]</div>
        <div>
            <div class="d-sm-inline FBC_eventdate"><span class="font-weight-bold">Date: </span>[blk.eventdate; magnet=div; frm='mmm d, YYYY'; strconv=no; noerr]</div>
            <div class="d-sm-inline pl-sm-3 FBC_eventname"><span class="font-weight-bold">Event: </span>[blk.eventname; magnet=div; strconv=no; noerr]</div>
            <div class="FBC_icon-group">
                <div>
                    <a data-toggle="collapse" href="#collapsePlayer" aria-expanded="false" aria-controls="collapsePlayer"><span class="d-block icon icon-headphones"></span>
                    <span class="FBC_text-8">LISTEN</span></a>
                </div>
                <div>
                    <a href="ministries/sermon-library1/download/[blk.id; magnet=a; mtype=m+m; strconv=no; noerr]/"><span class="d-block icon icon-download"></span>
                    <span class="FBC_text-8">DOWNLOAD</span></a>
                </div>
                <div>
                    <a data-toggle="modal" href="#modalShare"><span class="d-block icon icon-share2"></span>
                    <span class="FBC_text-8">SHARE</span></a>
                </div>
            </div>
        </div>
    </div>
    <div id="collapsePlayer" class="collapse col-12 pt-4 pb-3">
        <div class="FBC_player-outer-wrapper">
            <div class="FBC_player-wrapper w-100 w-md-75">
                <div class="FBC_seek-slider"></div>
                <div id="FBC_play-pause" class="FBC_player-button icon icon-play3"></div>
                <div class="FBC_player-left-wrapper">
                    <div class="FBC_player-volume-wrapper">
                        <div class="FBC_player-volume icon"><span class="FBC_player-last-volume" style="display: none"></span></div>
                        <div id="display-always" class="FBC_player-volume-slider"></div>
                    </div>
                    <div class="FBC_player-text"><span id="duration">0:00</span><span id="length"> / 0:00</span></div>
                </div>
                <div class="FBC_player-right-wrapper">
                    <div class="FBC_player-quality"><span class="icon icon-cog"></span>
                        <div class="FBC_player-quality-menu display-none">
                            <span class="FBC_player-quality-menu-title">Quality</span>
                            <span id="menuitem" class="FBC_player-quality-menu-item menu-item1 icon">96k</span>
                            <span id="menuitem2" class="FBC_player-quality-menu-item menu-item2 icon">24k</span>
                        </div>
                    </div>
                </div>
            </div>
            <p id="source1" style="display: none">[blk.mp3filename; block=div; ondata=f_constructPath; strconv=no; noerr]</p>
            <p id="url" style="display: none">[onshow.url; strconv=no; noerr]</p>
            <audio class="FBC_player"></audio>
        </div>
    </div>
    <div class="col-12 pt-4 pb-3">
        <h5>Summary</h5>
        <p class="FBC_summary">[blk.summary; magnet=div; strconv=no; noerr]</p>
    </div>
</div><!-- End Bootstrap Row -->
4

1 回答 1

0

如果您定义了一个块边界blk(即您至少有一个带有参数的 TBS 字段block),那么这是一个正常的块合并并ondata处理参数(就像此 TBS 字段中的所有块参数一样)。如果ondata函数的行为不符合您的预期,您可以通过观察它的参数来调试它$CurrRec。例如:var_export($CurrRec)。请注意,只有与参数一起使用的块参数才会被处理block

如果您没有定义块边界blk(即您没有带有参数的 TBS 字段block),则 TBS 仅合并第一条记录,它的行为类似于MerfeField(). 即,不处理块参数。所以这个ondata函数被忽略了。在这种情况下,您可以使用onformat并且可以通过观察它的参数来调试相应的函数$CurrPrm。在你的情况下,根据你的片段,我猜参数中嵌入的 TBS 字段根本没有合并。

再说一点:在您的模板中,您在块内有一些 TBS 字段,在块外有一些其他字段。外部字段将与普通块部分分开合并。

于 2018-08-31T00:14:10.857 回答