LifeType 中文開發論壇

支援 => 使用與操作 => 主題作者是: Tbreeze 於 三月 22, 2006, 12:57:48 下午



主題: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: Tbreeze三月 22, 2006, 12:57:48 下午
在模版里加入了以下個人圖像跟自我介紹的模版標籤,我現在想實現如果使用者設定里沒有加入個人圖像和自我介紹,那麽自我介紹的標題{$locale->tr("about_myself")}也就不顯示,如果加入了個人圖像 或者自我介紹中的任何一個,那麽標題{$locale->tr("about_myself")}也要顯示出來,請問要如何修改以下代碼,謝謝

//自我介紹標題
<div class="sidetitle">{$locale->tr("about_myself")}</div>

//個人圖像
{assign var=blogOwner value=$blog->getOwnerInfo()}
{if $blogOwner->hasPicture()}
{assign var=picture value=$blogOwner->getPicture()}
<img src="{$url->resourcePreviewLink($picture)}" alt="{$blogOwner->getUsername()}" />
{/if}

//自我介紹
{$blogOwner->getAboutMyself()}


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: markwu三月 22, 2006, 01:08:34 下午
在模版里加入了以下個人圖像跟自我介紹的模版標籤,我現在想實現如果使用者設定里沒有加入個人圖像和自我介紹,那麽自我介紹的標題{$locale->tr("about_myself")}也就不顯示,如果加入了個人圖像 或者自我介紹中的任何一個,那麽標題{$locale->tr("about_myself")}也要顯示出來,請問要如何修改以下代碼,謝謝

//自我介紹標題
<div class="sidetitle">{$locale->tr("about_myself")}</div>

//個人圖像
{assign var=blogOwner value=$blog->getOwnerInfo()}
{if $blogOwner->hasPicture()}
{assign var=picture value=$blogOwner->getPicture()}
<img src="{$url->resourcePreviewLink($picture)}" alt="{$blogOwner->getUsername()}" />
{/if}

//自我介紹
{$blogOwner->getAboutMyself()}

加上if 判斷就好了!我下面用一個比較複雜的示範,三個區塊都去判斷。事實上,應該可以更精簡,你自己試試看了!

//自我介紹標題
{assign var=blogOwner value=$blog->getOwnerInfo()}
{if $blogOwner->hasPicture() || $blogOwner->getAboutMyself()}
<div class="sidetitle">{$locale->tr("about_myself")}</div>
{/if}

//個人圖像
{if $blogOwner->hasPicture()}
{assign var=picture value=$blogOwner->getPicture()}
<img src="{$url->resourcePreviewLink($picture)}" alt="{$blogOwner->getUsername()}" />
{/if}

//自我介紹
{if $blogOwner->getAboutMyself()}
{$blogOwner->getAboutMyself()}
{/if}

Mark


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: Tbreeze三月 22, 2006, 01:34:08 下午
收到 謝謝markwu


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: Tbreeze三月 22, 2006, 01:47:06 下午
不行哦,{if $blogOwner->hasPicture() || $blogOwner->getAboutMyself()}不能用$blogOwner->getAboutMyself()來判斷
{$blogOwner->getAboutMyself()}是否存在

錯誤提示
Fatal error: Smarty error:


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: markwu三月 23, 2006, 12:57:50 下午
改成!

//自我介紹標題
{assign var=blogOwner value=$blog->getOwnerInfo()}
{if $blogOwner->hasPicture() || !empty($blogOwner->getAboutMyself())}
<div class="sidetitle">{$locale->tr("about_myself")}</div>
{/if}

//個人圖像
{if $blogOwner->hasPicture()}
{assign var=picture value=$blogOwner->getPicture()}
<img src="{$url->resourcePreviewLink($picture)}" alt="{$blogOwner->getUsername()}" />
{/if}

//自我介紹
{if !empty($blogOwner->getAboutMyself())}
{$blogOwner->getAboutMyself()}
{/if}

BTW,請自己要花一些時間學習 Smarty 的基本語法,這樣你才知道發生錯誤怎麼改!

Mark


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: niveko三月 23, 2006, 02:22:04 下午
Hi,

{$url->resourcePreviewLink($picture)} 这样插进去的图像我一直觉得有点小,所以想用这样去{$url->resourceDownloadLink($picture)} 插入个人图片。

不过在定义图片的大小的时候,我希望能够根据图片的长宽的象素比例自动缩小图像,这样得到的个人图片就会比较的符合要求。

我知道有个函数getimagesize()可以得到图片的长宽象素值,可是不知道应该怎样去写这个程式?


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: lss三月 23, 2006, 03:29:40 下午
hi niveko:

為什麼不乾脆上傳處理好的照片圖檔?那不是更簡單,而且節省系統資源? ^o)

lss


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: niveko三月 23, 2006, 04:33:43 下午
Hi, lss

你说的当然是最理想的情况,但你不能要求每一个用户都按你的方法去做!  :-(

而且在用户平时上传的图片的时候长宽比的象素肯定都是有差异的,但我希望在个人图片上显示出来的效果还是不变!


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: lss三月 23, 2006, 05:16:49 下午
那你可以試試修改全站系統設定裡的 thumbnail_height / thumbnail_width 或是 medium_size_thumbnail_height / medium_size_thumbnail_width ,讓其中一組的大小設成你要的頭像大小,然後,把圖像的連結改成:
引用
{$url->resourcePreviewLink($picture)}
或是
{$url->resourceMediumSizePreviewLink($picture)}
就可以了。

我很奇怪的是,為什麼不能叫用戶上傳頭像圖案時自行先修好大小? o^)

lss


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: ming三月 23, 2006, 10:19:12 下午
引用
為什麼不能叫用戶上傳頭像圖案時自行先修好大小?

因為不是每個用戶也知道如何使用圖像處理軟件 :-)


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: james三月 23, 2006, 10:31:39 下午
那你可以試試修改全站系統設定裡的 thumbnail_height / thumbnail_width 或是 medium_size_thumbnail_height / medium_size_thumbnail_width ,讓其中一組的大小設成你要的頭像大小,然後,把圖像的連結改成:
引用
{$url->resourcePreviewLink($picture)}
或是
{$url->resourceMediumSizePreviewLink($picture)}
就可以了。

我很奇怪的是,為什麼不能叫用戶上傳頭像圖案時自行先修好大小? o^)

lss

其實我的想法和lss比較接近.
讓使用者上傳處理過的照片是比較方便的地方.
(的確,並不是每一個使用者都會使用圖像處理軟體 :-)
那假設使用者也不喜歡系統做的處理呢!?
那麼BSP是不是要在寫一個可以增加邊框,做個特效之類的處理程式來幫忙處理個人頭像這個部份的圖片呢!?)

我個人認為LifeType是個多使用者的blog系統,功能應該以提供穩定便利的blog功能為主。
沒必要把它搞得像個無敵鐵金鋼吧  ^_^

既要LT可以提供Blog功能,又要能提供Gallery功能,還要能處理影像....
接下來呢???

當然,如果要用程式硬寫也是可以做到的  :-)
只是有沒這個必要性囉^_^

服務的確是該面面俱到,但是當力有不足時,是否也該考量適當的取捨部份功能呢 ^_^

小小意見僅供參考囉  :-D

James.


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: markwu三月 23, 2006, 10:32:26 下午
Lifetype 目前有三種圖形格式

1. Thumbnail: 120*120
2. Medium: 640*480
3. Original

你當然可以修改這些大小來符合你的需要啊!為什麼還需要再處理一次呢?到 全部站台管控 » 檔案中心設定 去修改!

你可以把 Thumbnail 改為 200*150,應該看起來就大一些!

如果你覺得三種格式還不夠,那請嘗試自行修改程式 /class/gallery/dao/galleryresources.class.php 的 addResource(),增加產生的格式。

Mark


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: niveko三月 24, 2006, 11:29:34 上午
多谢各位的回复!

我的意思是如果用户上传了一张800×600象素的图片做为个人图片,那我想把它自动在blog的panel栏中显示出来。但如果用{$url->resourcePreviewLink($picture)}的话图像就有可能会显得绍小了些,就想把它变大一些,但是希望图像的质量和长宽的比例不要改变,要不图片的就会变形不好看啦! 

所以就想用{$url->resourceDownloadLink($picture)}图像插入到blog的panel中,但是用户上传的个人图片大小不一,比如有的是1024×768,400×300或者600×800的,这时我就不好定义图片在panel中的具体尺寸了。

所以就想在panel中做一个图像框,当个人图片的Pwidth=>Pheight时,个人图片的Pwidth=Fwidth(图像框),然后Pheight=Pheight*Fwidth/Pwidth,这样的话图像就不会发生变形。同样Pwidth<Pheight时也可以做出来啦!







主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: lss三月 24, 2006, 03:16:41 下午
基本上, LT 在製作縮圖時,就會依寬高比例做縮放,不會有扭曲變形的形情發生,所以如 mark 所說,修改縮圖的大小應該就可以達到你的目的。

為了顯示一個 120x120 (或自訂大小) 要下載一個 800x600(或 1024x768) 的圖檔,太浪費頻寬了。

lss


主題: Re: 怎樣判斷是否加入了個人圖像和自我介紹,如果沒有我就不顯示自我介紹
作者: niveko三月 24, 2006, 04:13:45 下午
哦,了解啦!  :-D :-D

多谢各位的帮助!