主題: 请教一下模版中使用资源文件的方法 作者: oldwain 於 五月 21, 2006, 09:47:57 下午 我想在模版中引用用户在资源文件中上传的文件,不知道是否有办法:
1. 根据文件名判断是否存在某个文件? (包含路径,如果麻烦的话,只能判断跟文件夹中也可) 2. 根据文件名获得资源对象($res)或者资源url? 主題: Re: 请教一下模版中使用资源文件的方法 作者: james 於 五月 21, 2006, 10:22:51 下午 我想在模版中引用用户在资源文件中上传的文件,不知道是否有办法: 1. 根据文件名判断是否存在某个文件? (包含路径,如果麻烦的话,只能判断跟文件夹中也可) 2. 根据文件名获得资源对象($res)或者资源url? 不太清楚你的問題。 不過如果你可以取得文件名稱,應該是使用類似 $resource->getFileName()這樣的方式來取得。 如果是這樣的方式,應該可以透過 $url->resourceDownloadLink($resource) 來取得文件的url. 除非你取得文件名稱的方式是直接寫在模版裡面,這樣我就不清楚了。 另外就我的了解,$resource 物件好像只能在album, albums, resource等三個template中使用,其它的模版檔案似乎無法使用。 如有錯誤歡迎指正。 James. 主題: Re: 请教一下模版中使用资源文件的方法 作者: ajer001 於 五月 21, 2006, 10:41:36 下午 你的意思是要檢查是否重複檔案並且顯示位置
以及 搜尋檔案 這樣嗎? 主題: Re: 请教一下模版中使用资源文件的方法 作者: oldwain 於 五月 22, 2006, 12:05:52 上午 可能是前面描述的不够清楚.
问题起源于这篇帖子: http://forum.lifetype.org.tw/index.php?topic=2033.0 其中谈到了使用config file, 现在通过使用config file我已经可以让模版支持多种语言了 但是,现在我希望用户在使用这个模版时,可以不修改模版文件,而只要在他的资源中上传一个config file (比如取名settings.conf), 模版会主动读取用户的config file, 并用其中的选项覆盖模版的一些缺省选项。 举例说明: 在我的模版文件中的settings.conf中有如下的行: ... usefeedburner = 0 feedburneraddress = ... 意思是缺省情况下,显示lifetype提供的feed地址,而不是feedburner feed地址。 如果用户上传的settings.conf文件中,包含如下内容: usefeedburner = 1 feedburneraddress = http://feeds.feedburner.com/Oldwain 那么在显示的时候,模版会根据用户配置文件,显示feedburner feed地址. 通过这种方式,可以做到让用户完全不修改模版的情况下,去定制模版的显示风格。 不知能否实现这样的想法。 主題: Re: 请教一下模版中使用资源文件的方法 作者: oldwain 於 五月 22, 2006, 12:13:04 上午 刚才用这样的方法试验了一下:
程式碼: {assign var="customconfigpath" value=$url->getResourceServerUrl()|cat:"?blogId="|cat:$blog->getId()|cat:"&resource=settings.conf"} 但是会出错: [client 127.0.0.1] PHP Warning: Smarty error: unable to read resource: "http://localhost/plog/resserver.php?blogId=7&resource=settings.conf" in D:\\Apache2\\htdocs\\plog\\class\\template\\smarty\\Smarty.class.php on line 1108, referer: http://localhost/plog/admin.php?op=resourceInfo&resourceId=6 通过浏览器输入地址http://localhost/plog/resserver.php?blogId=7&resource=settings.conf,是可以正确读取的。 似乎config_load 只能读取本地文件路径, 并不认url 不知还有什么办法? 主題: Re: 请教一下模版中使用资源文件的方法 作者: lss 於 五月 22, 2006, 08:53:44 上午 hi oldwain:
這可能是 smarty 程式裡的 $secure_dir (http://smarty.php.net/manual/en/variable.secure.dir.php) 的限制造成無法讀取限制目錄之外的檔案。 LifeType 把 $secure_dir 設定為 templates , templates/admin , templates/blog_{Id}/$layout 三個目錄(參考 class/tempalte/template.class.php 及 class/template/templateservice.class.php)。所以 smarty 的 config file 放在資料夾裡可能會無法讀取。 不知道耶,雖然這個點子好像不錯,但是,總覺得把 config file 放在資料夾裡面怪怪的 ^o) lss 主題: Re: 请教一下模版中使用资源文件的方法 作者: oldwain 於 五月 22, 2006, 12:58:30 下午 谢谢lss
既然这样 我只好再试试看有没有别的思路. 主題: Re: 请教一下模版中使用资源文件的方法 作者: lss 於 五月 22, 2006, 01:09:55 下午 hi oldwain:
我以前有想過,把 config file 裡的設定值改成做在 plugin ,直接在後台設定,用來搭配 bcse 的 wordplog 模版,這樣會更方便 blogger 自訂佈景主題。你願意試試看嗎? :-D lss 主題: Re: 请教一下模版中使用资源文件的方法 作者: oldwain 於 五月 22, 2006, 08:00:08 下午 如果使用plugins的话, 应该不难实现.
不过我不想这样, 因为我上面的想法就是希望用户使用我的模板时,即可自定义个性化的东西, 又能减少复杂性. 如果让用户安装plugins的话, 对于多数用户来讲, 可能还不如修改模板文件方便 (我现在的模板多数修改工作只要修改settings.conf一个文件即可) 主題: Re: 请教一下模版中使用资源文件的方法 作者: markwu 於 五月 23, 2006, 10:36:36 下午 那麼剩下唯一的方法就是:
1. 用 template editor plugin 把 template copy 一份到 blog 中 2. 然後透過 template eitor 來修改 settings.conf 這樣可以達到 deefault 的 setting 只有 site admin 可以修改。而 blog owner 可以在每一個 blog 中都有自己的設定。 Mark 主題: Re: 请教一下模版中使用资源文件的方法 作者: oldwain 於 五月 24, 2006, 12:32:14 上午 谢谢mark, lss!
我再仔细研究研究. |