2010-11-24 28 views
4

我正在開發一個Symfony(1.4)項目,該項目要求用戶能夠將內部URI插入到用戶生成內容的主體中,在TinyMCE/WMD編輯器中編寫(還沒有決定! )用戶可以將內部URI添加到網站上的其他地方。內容將作爲markdown/html存儲在數據庫中。Symfony Routing;用戶生成內容中的內部URI

我可以簡單地插入通過Symfony本身檢索的當前URI,但我希望有一種方法來存儲各自的模塊/動作/ etc變量,以便如果路由需要更改,URI將保持正確網站。

我能想到的唯一一個處理器很像PHP Markdown,它執行文本搜索,在內容塊中提取自定義標記,並將其替換爲生成路徑的markdown/html代碼(使用Symfony的get_url()/ link_to()方法)。 [這也需要一個文本標記生成器等]

Symfony有沒有其他的/更好的方法比這個?我可以在用戶生成的輸入中訪問Symfony助手/等嗎?

回答

1

有沒有簡單的方法來做到這一點定義它們的用戶。最好的方法可能是:

  • 在提交時解析編輯器輸入以查找所有URL。
  • 用存儲路由名稱和參數的自定義語法替換URL。
  • 檢索每當/顯示信息,刪除自定義的語法和與所生成的路線替換它(通過例如的preg_replace回調)

替代地,對於小站點與相對不靈活的路線,它可以是能夠顯示可用路線的下拉列表。

兩條路線都可能會導致一些頭痛。

0

只是告訴他們需要使用命名路由@my_custom_url和symfony的路由文件routing.yml

+0

名稱路由是否仍然需要用Symfony方法處理?以下是行不通的,我不認爲; Job 1 Ghostpsalm 2010-11-25 00:30:01

+0

yeap right,不知怎的,我以爲你解析它們,你只是不想有用戶輸入的模塊/動作 – sbczk 2010-11-25 06:25:12