獲取標(biāo)題轉(zhuǎn)拼音首字母,如果字段為空,自動(dòng)獲取
public function edit() {
if (IS_POST) {
$post = \Phpcmf\Service::L('input')->post('data');
$py = \Phpcmf\Service::L('pinyin'); // 拼音轉(zhuǎn)換類
if(!$post['py']){
$post['py']=substr($py->result($post['title']), 0, 1);
}
}
$this->_Admin_Edit();
}打印$post,成功獲取到標(biāo)題拼音首字母,但是無法寫入數(shù)據(jù)庫?
改成
然后入庫時(shí)讀取這個(gè)$_POST['py']變量在寫進(jìn)去存儲(chǔ)
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復(fù)@官方研發(fā)技術(shù)-陳老師 感謝回答
我修改后
public function edit() { if (IS_POST) { $post = \Phpcmf\Service::L('input')->post('data'); $py = \Phpcmf\Service::L('pinyin'); // 拼音轉(zhuǎn)換類 if(!$post['py']){ $_POST['py']=substr($py->result($post['title']), 0, 1); } } var_dump($_POST); $this->_Admin_Edit(); }再次打印出來的var_dump($_POST);依然為空
var_dump($_POST); 后,下面應(yīng)該有 [py] = m 的結(jié)果的,你拉下來看看就知道了。
回復(fù)@官方研發(fā)技術(shù)-陳老師
然后入庫時(shí)讀取這個(gè)$_POST['py']變量在寫進(jìn)去存儲(chǔ)
這里的變量在寫進(jìn)去存儲(chǔ)是要怎么寫?
回復(fù)@張建 如果單單是為了獲取拼音首字母可以重寫content類函數(shù)
新建 dayrui/App/News/Models/Content.php
<?php namespace Phpcmf\Model\News;
class Content extends \Phpcmf\Model\Content
{
// 提交之前
public function _content_post_before($id, $data, $old)
{
// 編輯
if ($id)
{
$data[1]['py'] = substr(\Phpcmf\Service::L('pinyin')->result($data[1]['title']), 0, 1);
}
return $data;
}
}
可能鉤子也行,沒試過
參考文檔:《模塊內(nèi)容發(fā)布之前》
最終的解決是