歡迎光臨, 訪客. 請先 登入註冊一個帳號.
十一月 23, 2024, 08:19:07 上午
19595 文章 在 3865 主題 由 4579 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  建議  |  要求與建議  |  pLog會否加入Bookmarklet功能? « 上篇主題 下篇主題 »
頁: [1]
作者 主題: pLog會否加入Bookmarklet功能?  (閱讀 26541 次)
mickey9801
初級會員
**
文章: 58


檢視個人資料 個人網站
« 於: 五月 02, 2005, 04:50:38 下午 »

請問pLog會否加入Bookmarklet功能?例如Movable Type的MT It!或pMachine的pMachineBM。

我不知道現在有沒有那樣的插件,從sourceforge下載回來的all_plugin插件包就找不到類似的。希望可以加入類似的功能,因為引用起來蠻方便。
已記錄

我的網誌:http://blog.comicparty.com
LifeType 1.1.2/FEDORA CORE 3/Apache 2.0.53/PHP 4.3.11/MySQL 4.1.10/GD 2.0.21/ImageMagick 6.2.2.0
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #1 於: 五月 02, 2005, 10:13:57 下午 »

mmmm .... 可行!我試試看,這個應該是滿好玩的  微笑

Mark
已記錄

markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #2 於: 五月 03, 2005, 10:57:26 上午 »

Hi:

我剛剛做好了兩個 BookMarklet,是給 pLog 用的。

一個是 Bookmark It!,可以把目前的網頁連接加到 pLog 的網站連結中。
一個是 Blog It! ,可以把圈選的文字貼到pLog 的新文章中。

唯一的限制是你必須已經 Login 過管理介面,且還沒超過 Session 的時間。試試看吧。

原本是預備放到 1.0.1 中,但是 Oscar 已經 Freeze Code,所以可能要到 1.0.2
了。

下載

Mark
已記錄

markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #3 於: 五月 09, 2005, 02:38:20 上午 »

Hi mickey9801:

你試了嗎?

Mark
已記錄

mickey9801
初級會員
**
文章: 58


檢視個人資料 個人網站
« 回覆文章 #4 於: 五月 09, 2005, 08:27:00 上午 »

沒有即時回應非常抱歉m(_ _)m

想不到兩位竟第一時間做好了。小弟從Google下載了Plog-Bookmarklet來,不過裡面只有兩個template檔和locale檔。我見這不像是Plug-in,所以我想是用來overwrite原本的同名檔案的,對嗎?但是我overwrite了,發現發表新文章那個網頁在標題以下的地方變了空白,而新增網站連結就自動跳到新增網站分類去。

另外,我還是試了把它們當作plug-in放在plugins文件夾裡,但外掛中心refresh了幾次也沒有見到,我想這是正常的吧?

我也試了刪除所有cache,情況仍然一樣。請問這兩個bookmarklet是怎麼用的呢?

P.S.我用的仍是Plog 1.0版,不是SVC版。
已記錄

我的網誌:http://blog.comicparty.com
LifeType 1.1.2/FEDORA CORE 3/Apache 2.0.53/PHP 4.3.11/MySQL 4.1.10/GD 2.0.21/ImageMagick 6.2.2.0
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #5 於: 五月 09, 2005, 10:35:06 上午 »

引用自: mickey9801
沒有即時回應非常抱歉m(_ _)m

想不到兩位竟第一時間做好了。小弟從Google下載了Plog-Bookmarklet來,不過裡面只有兩個template檔和locale檔。我見這不像是Plug-in,所以我想是用來overwrite原本的同名檔案的,對嗎?但是我overwrite了,發現發表新文章那個網頁在標題以下的地方變了空白,而新增網站連結就自動跳到新增網站分類去。

另外,我還是試了把它們當作plug-in放在plugins文件夾裡,但外掛中心refresh了幾次也沒有見到,我想這是正常的吧?

我也試了刪除所有cache,情況仍然一樣。請問這兩個bookmarklet是怎麼用的呢?

P.S.我用的仍是Plog 1.0版,不是SVC版。


1. 這是 1.0 & 1.0.1 都適用的。他不是 plugin,只是把 bookmarklet 加在 template 上,你可以自行把它加到我的最愛中。

另外,增網站連結就自動跳到新增網站分類,那是因為pLog 最少要一個網站分類,沒有網站分類,他會強制你加一個。

Mark
已記錄

mickey9801
初級會員
**
文章: 58


檢視個人資料 個人網站
« 回覆文章 #6 於: 五月 09, 2005, 03:38:03 下午 »

明白了,今晚我會再試試看。
已記錄

我的網誌:http://blog.comicparty.com
LifeType 1.1.2/FEDORA CORE 3/Apache 2.0.53/PHP 4.3.11/MySQL 4.1.10/GD 2.0.21/ImageMagick 6.2.2.0
mickey9801
初級會員
**
文章: 58


檢視個人資料 個人網站
« 回覆文章 #7 於: 五月 10, 2005, 09:08:45 下午 »

試了Bookmarklet的功能,出現以下的問題,我把我的測試順序列出如下:

Blogit to Plog測試:
1. 以/plog_bookmarket/templates/admin/newpost.template覆蓋/templates/admin/newpost.template,然後移除tmp內所有cache。

2. 登入plog,進入「發表新文章」,網頁顯示至中間的navigation menu就停止了,閱覽source code,最後一行寫著以下的錯誤碼:
程式碼:
     var indexPage = "<br />
<b>Fatal error</b>:  Call to a member function on a non-object in <b>/home/mickey/www/wwwroot/plog/tmp/1/%%-18^%%-1851474714^newpost.template.php</b> on line <b>18</b><br />


3.打開tmp/1/%%-18^%%-1851474714^newpost.template.php,17-20行寫著:
程式碼:
  <script type="text/javascript">
     var indexPage = "<?php echo $this->_tpl_vars['config'&#93;->getValue&#40;'script_name'&#41;; ?>
";
  </script>  

對照newpost.template,內容應該是來自10-12行:
程式碼:
  <script type="text/javascript">
     var indexPage = "{$config->getValue("script_name")}";
  </script>  


4.尋找plog資料庫plog_config資料表,找到config_key=script_name,config_value=index.php的紀錄。

5. 將newpost.template第10-12行移除,刪除cache,再進入「發表新文章」,表格正常顯示出來。

6. 將表格右下角「把文章加到 pLog!(IE 用)」連結加入我的最愛。

7. 在同一瀏覽器以書籤進入一日文網頁,隨意highlight一段字,再點擊剛才加入的連結。

8. 出現plog的管理介面登入畫面(注意!)

9. 登入plog,跟正常一樣首先進入「發表新文章」網頁,表格正常顯示,但textarea沒有內容。

10. 在Address bar手動輸入網址進入一中文網站,隨意highlight一段字,同樣選擇「把文章加到 pLog!(IE 用)」書籤。

11. 順利進入plog管理介面,不用登入,表格正常顯示,但textbox也沒有內容。

--測試完--

我會再試試其他方式,例如手動輸入var IndexPage的值來看看。結果稍後再報告。
已記錄

我的網誌:http://blog.comicparty.com
LifeType 1.1.2/FEDORA CORE 3/Apache 2.0.53/PHP 4.3.11/MySQL 4.1.10/GD 2.0.21/ImageMagick 6.2.2.0
mickey9801
初級會員
**
文章: 58


檢視個人資料 個人網站
« 回覆文章 #8 於: 五月 10, 2005, 09:56:56 下午 »

試了把newpost.template裡第11行改為:
程式碼:
var indexPage = "index.php";


運作就正常了,可以把在其他網頁highlight了的字直接貼到plog上去。不過貼的過程發現這樣的問題:

1. highlight order list 或un-order list的話,貼到「發表新文章」之後就會變成沒有轉行的全連在一起。

2. highlight的文字裡夾雜著圖片的話,貼到表格上的文字只會包括img之前的部份。

3. 某些網頁的文字完全拷貝不到,如:http://edu.uuu.com.tw/technic/dictionary-index.htm

不過,還是不知道為甚麼沒法正確取得$config->getValue("script_name")的值。

另外,為了方便引用,我在原來的bookmarklet裡加入了轉貼的來源網址,162-163行變成這樣:
程式碼:
       	<a href="javascript:location.href='{$url->getAdminUrl()}?op=newPost&postText='+encodeURIComponent('&amp;lt;p&amp;gt;'+window.location.href+'&amp;lt;/p&amp;gt;'+document.selection.createRange().text)" onclick="window.alert('{$locale->tr("bookmarklet_help")}');">{$locale->tr("blogit_to_plog")}</a>{$locale->tr("for_ie")}<br />
        <a href="javascript:location.href='{$url->getAdminUrl()}?op=newPost&postText='+encodeURIComponent('&amp;lt;p&amp;gt;'+window.location.href+'&amp;lt;/p&amp;gt;'+window.getSelection())" onclick="window.alert('{$locale->tr("bookmarklet_help")}');">{$locale->tr("blogit_to_plog")}</a>{$locale->tr("for_ff")}


我在IE上試了沒有問題,但由於自己沒有安裝Firefox,所以還沒有試過。希望有FF的朋友可以測試一下。
已記錄

我的網誌:http://blog.comicparty.com
LifeType 1.1.2/FEDORA CORE 3/Apache 2.0.53/PHP 4.3.11/MySQL 4.1.10/GD 2.0.21/ImageMagick 6.2.2.0
mickey9801
初級會員
**
文章: 58


檢視個人資料 個人網站
« 回覆文章 #9 於: 五月 10, 2005, 11:24:35 下午 »

由於可能因為種種原因未能轉貼highlight的文字,我參考了pMachine的做法來修改,增加了一個以popup的形式彈出新文章表格的Bookmarklet。雖然還是要先Login管理介面後才可用bookmarklet轉貼文章到plog,不過我想popup方式會較為方便。

這個做法看來還可以自動判別所使用的是IE還是Firefox,所以不用分開兩條連結來儲存。

程式碼:
<a href="javascript:bm=document.selection?document.selection.createRange().text:document.getSelection();void(plogbm=window.open('{$url->getAdminUrl()}?op=newPost&postText='+encodeURIComponent('&amp;lt;p&amp;gt;'+window.location.href+'&amp;lt;/p&amp;gt;'+bm),'plogbm','toolbar=1,status=1,location=1,scrollbars=1,menubar=1,resizable=1'))" onclick="window.alert('{$locale->tr("bookmarklet_help")}');">{$locale->tr("blogit_to_plog")}</a>For both IE & FF (popup)<br />


如果有甚麼做法不妥當的地方,請指正。
已記錄

我的網誌:http://blog.comicparty.com
LifeType 1.1.2/FEDORA CORE 3/Apache 2.0.53/PHP 4.3.11/MySQL 4.1.10/GD 2.0.21/ImageMagick 6.2.2.0
mickey9801
初級會員
**
文章: 58


檢視個人資料 個人網站
« 回覆文章 #10 於: 五月 11, 2005, 12:42:43 上午 »

為了更方便引用,我在bookmarklet裡加入了自動勾選「發送引用通告」

程式碼:
--[搜尋]--
{if $smarty.request.postText}
{assign var=postText value=$smarty.request.postText}
{/if}
--[之後加入]--
{if $smarty.request.sendTrackbacks}
{assign var=sendTrackbacks value=$smarty.request.sendTrackbacks}
{/if}
--[第165行加入]--
<a href="javascript:bm=document.selection?document.selection.createRange().text:document.getSelection();void(plogbm=window.open('{$url->getAdminUrl()}?op=newPost&sendTrackbacks=1&postText='+encodeURIComponent('&amp;lt;p&amp;gt;'+window.location.href+'&amp;lt;/p&amp;gt;'+bm),'plogbm','toolbar=1,status=1,location=1,scrollbars=1,menubar=1,resizable=1'))" onclick="window.alert('{$locale->tr("bookmarklet_help")}');">{$locale->tr("blogit_to_plog")}</a>For both IE & FF (popup)<br />


不過,由於GET的限制,這個bookmarklet能夠轉貼的字只有200多字。而且如果highlight的字數太多,裁字時最後一個字很多時候會變成亂碼,甚至變成一些會影響新增文章表格的控制字符。不知道有沒有辦法改善這一點呢?
已記錄

我的網誌:http://blog.comicparty.com
LifeType 1.1.2/FEDORA CORE 3/Apache 2.0.53/PHP 4.3.11/MySQL 4.1.10/GD 2.0.21/ImageMagick 6.2.2.0
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #11 於: 五月 11, 2005, 09:58:24 上午 »

引用自: mickey9801
試了把newpost.template裡第11行改為:
程式碼:
var indexPage = "index.php";


運作就正常了,可以把在其他網頁highlight了的字直接貼到plog上去。不過貼的過程發現這樣的問題:


阿!這是我的錯!我一直忘了這個一段 var indexPage  ... 是1.0.1  才加上去的。  傷心

所以 1.0 才會有問題。

Mark
已記錄

markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #12 於: 五月 11, 2005, 10:02:45 上午 »

引用自: mickey9801
為了更方便引用,我在bookmarklet裡加入了自動勾選「發送引用通告」

程式碼:
--[搜尋]--
{if $smarty.request.postText}
{assign var=postText value=$smarty.request.postText}
{/if}
--[之後加入]--
{if $smarty.request.sendTrackbacks}
{assign var=sendTrackbacks value=$smarty.request.sendTrackbacks}
{/if}
--[第165行加入]--
<a href="javascript:bm=document.selection?document.selection.createRange().text:document.getSelection();void(plogbm=window.open('{$url->getAdminUrl()}?op=newPost&sendTrackbacks=1&postText='+encodeURIComponent('&amp;lt;p&amp;gt;'+window.location.href+'&amp;lt;/p&amp;gt;'+bm),'plogbm','toolbar=1,status=1,location=1,scrollbars=1,menubar=1,resizable=1'))" onclick="window.alert('{$locale->tr("bookmarklet_help")}');">{$locale->tr("blogit_to_plog")}</a>For both IE & FF (popup)<br />


不過,由於GET的限制,這個bookmarklet能夠轉貼的字只有200多字。而且如果highlight的字數太多,裁字時最後一個字很多時候會變成亂碼,甚至變成一些會影響新增文章表格的控制字符。不知道有沒有辦法改善這一點呢?


這作法不錯。我會把它加到 新的 bookmarklet 中。

至於 get 的限制,有解!可是有點小複雜:

1. 改成 popup 的 windows 的方式
2. 用 hidden form 把這些資料填入
3. 用 javascript 的 submit form 來把 form 的資料送到管理介面

但是唯一的問題是『編碼』。目前 IE 跟 FF 在 encodings 的方式處理不同,所以造成 IE 沒問題時,FF就會有問題。還沒找到比較好的方法。

你可以看 postPreview 就是這樣。

Mark
已記錄

mickey9801
初級會員
**
文章: 58


檢視個人資料 個人網站
« 回覆文章 #13 於: 五月 11, 2005, 01:04:38 下午 »

我今晚再試試用popup的方式,看看是否可行。
已記錄

我的網誌:http://blog.comicparty.com
LifeType 1.1.2/FEDORA CORE 3/Apache 2.0.53/PHP 4.3.11/MySQL 4.1.10/GD 2.0.21/ImageMagick 6.2.2.0
頁: [1]
LifeType 中文開發論壇  |  建議  |  要求與建議  |  pLog會否加入Bookmarklet功能? « 上篇主題 下篇主題 »
    前往: