LifeType 中文開發論壇

建議 => 要求與建議 => 主題作者是: mickey9801 於 五月 02, 2005, 04:50:38 下午



主題: pLog會否加入Bookmarklet功能?
作者: mickey9801五月 02, 2005, 04:50:38 下午
請問pLog會否加入Bookmarklet功能?例如Movable Type的MT It!或pMachine的pMachineBM。

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


主題: pLog會否加入Bookmarklet功能?
作者: markwu五月 02, 2005, 10:13:57 下午
mmmm .... 可行!我試試看,這個應該是滿好玩的  :-)

Mark


主題: pLog會否加入Bookmarklet功能?
作者: markwu五月 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
了。

下載 (http://groups-beta.google.com/group/plog-development/browse_thread/thread/76d7254d82348cd1/4ae6a2bc1d81a8a3#4ae6a2bc1d81a8a3)

Mark


主題: pLog會否加入Bookmarklet功能?
作者: markwu五月 09, 2005, 02:38:20 上午
Hi mickey9801:

你試了嗎?

Mark


主題: pLog會否加入Bookmarklet功能?
作者: mickey9801五月 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版。


主題: pLog會否加入Bookmarklet功能?
作者: markwu五月 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


主題: pLog會否加入Bookmarklet功能?
作者: mickey9801五月 09, 2005, 03:38:03 下午
明白了,今晚我會再試試看。


主題: pLog會否加入Bookmarklet功能?
作者: mickey9801五月 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的值來看看。結果稍後再報告。


主題: pLog會否加入Bookmarklet功能?
作者: mickey9801五月 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的朋友可以測試一下。


主題: pLog會否加入Bookmarklet功能?
作者: mickey9801五月 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 />


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


主題: pLog會否加入Bookmarklet功能?
作者: mickey9801五月 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的字數太多,裁字時最後一個字很多時候會變成亂碼,甚至變成一些會影響新增文章表格的控制字符。不知道有沒有辦法改善這一點呢?


主題: pLog會否加入Bookmarklet功能?
作者: markwu五月 11, 2005, 09:58:24 上午
引用自: mickey9801
試了把newpost.template裡第11行改為:
程式碼:
var indexPage = "index.php";


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


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

所以 1.0 才會有問題。

Mark


主題: pLog會否加入Bookmarklet功能?
作者: markwu五月 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


主題: pLog會否加入Bookmarklet功能?
作者: mickey9801五月 11, 2005, 01:04:38 下午
我今晚再試試用popup的方式,看看是否可行。