2011-08-01 9 views
5

वर्तमान में केकफ़्पी का उपयोग कर एक नीलामी वेबसाइट बना रहा हूं। इसमें हमारे जैसे मेनू बार हैं, हमसे संपर्क करें। मैंने केवल डिफ़ॉल्ट पृष्ठ बनाया है। तो मैं उन पृष्ठों को बनाना चाहता हूं। सलाह दीजिए कि कैसे बनाया जाए।केकफ़्पी में एक स्थिर पृष्ठ कैसे बनाएं?

उत्तर

0

आप इस उद्देश्य के लिए pages controller का उपयोग कर सकते हैं।

www.site.com/pages/about_us

आप तो बदल सकते हैं इन यूआरआई रूटिंग के साथ देखने के लिए कैसे: इस तरह के about_us.ctp और contact_us.ctp के रूप में नाम के साथ APP/views/pages/ पर

बनाना विचारों आप उन्हें यूआरएल पर पहुँचने के लिए अनुमति देगा।

+0

मैंने यह बनाया और चेक किया है, लेकिन यह काम नहीं कर रहा है .. –

+0

क्या आपने पृष्ठों_ नियंत्रक को संशोधित किया है? – raultm

+0

@raultm: आपको पृष्ठों नियंत्रक को बिल्कुल संशोधित नहीं करना चाहिए। –

4

/app/views/pages/ फ़ोल्डर में एक about.ctp बनाएँ।

फिर /app/config/routes.php फ़ाइल में Router::connect('/about', array('controller' => 'pages', 'action' => 'display', 'about')); जोड़ें। आप www.yoursite.com/about

+0

मैंने ब्लॉग /ctp/app/views/पेज/फ़ोल्डर में फ़ाइल बनाई है। इसके अलावा मेरे पास टिप्पणियां हैं, राउटर :: कनेक्ट ('/ ब्लॉग /', सरणी ('नियंत्रक' => 'पेज', 'एक्शन' => 'डिस्प्ले', 'ब्लॉग')); /app/config/routes.php में लेकिन अभी भी पेज नहीं मिल रहा है। –

+0

क्या आपको एक खाली पृष्ठ मिल रहा है? – Jack

+0

मैंने आपके निर्देशों का पालन किया हालांकि यह काम नहीं किया। नियंत्रक के बारे में एक त्रुटि दिखाया गया था। पहले तर्क में '/ about /' का उपयोग करने के बजाय, '/ about' का उपयोग करें। बस दूसरी स्लैश ड्रॉप करें। –

6

पुराना धागा पर इसे उपयोग करने में सक्षम होना चाहिए, लेकिन मैं यह पाया 2. x में भी ऐसा ही करने की कोशिश करते हुए

जैक का जवाब एक छोटा टाइपो के साथ सही है। यह

Router::connect('/about', array('controller' => 'pages', 'action' => 'display', 'about'));

होना चाहिए उम्मीद है कि इस किसी और मदद करता है, के रूप में यह मेरे था।

2

Read more here

विधि 1: आप हमारे बारे में की तरह सामग्री पृष्ठों बनाना चाहते हैं, गोपनीयता नीति जो सामग्री के एक व्यवस्थापक इंटरफ़ेस द्वारा बदला जा सकता है इन चरणों का

पालन

Step1: बदलें pagesController

class PagesController extends AppController { 
function beforeFilter() { 
    $this->Auth->allow('content');//to allow to be visible for non-logged in users, if you are using login system 
    parent::beforeFilter(); 
} 
public function content($id = null, $layout = null, $theme=null) { 
    if ($layout) $this->layout = $layout;//if you are using mulitple layouts and themes and want to change it dynamicaly 
    if ($theme) $this->theme = $theme; 

    $this->set('content', $this->Page->find('first', array('conditions' => array('Page.id' => $id)))); 
    $this->Page->id= $id; 
    $this->set('title_for_layout', $this->Page->field('title')); 

} 

}

चरण 2: आईडी, शीर्षक, सामग्री, छवि, थीम, लेओ जैसी फ़ील्ड के साथ एक तालिका सामग्री जोड़ें ut आदि चरण 3: देखें/पेज में content.ctp जोड़ने

<div class="row innerPage">  
<div class="col-lg-12 col-md-12 col-sm-12"> 
    <div class="row userInfo"> 
    <div class="col-xs-12 col-sm-12"> 
     <h1 class=" text-left border-title"> <?php echo $content['Page']['title'];?> </h1> 
     <div class="w100 clearfix"> 
     <?php echo $content['Page']['content'];?> 
     </div> 
    </div> 
    </div> 


लेकिन अगर आप अपनी जरूरत के अनुसार एचटीएमएल बदल सकते हैं, मैं बूटस्ट्रैप ढांचे पसंद करते हैं।

तो फिर तुम के रूप में

<?php echo $this->html->link("Terms of Services", array("controller" => "pages", "action" => "content", 5), array("class" => 'themeprimary','target'=>'_blank')) ?> 

यह इसका इस्तेमाल एक लिंक yoursite/पृष्ठों/सामग्री/5 उत्पन्न होगा कर सकते हैं। 5 पंक्ति की आईडी है जिसे आप विवरण दिखाना चाहते हैं।

यदि आप अपने लिंक को yoursite/terms की तरह चाहते हैं तो आपको जाने के लिए एक और कदम की आवश्यकता है। Routes.php में इस लाइन को जोड़ें।

Router::connect('/terms', array('controller' => 'pages', 'action' => 'content',5)); 

विधि 2: बस देखें/पेज के नीचे एक about.ctp बना सकते हैं और सामग्री आप चरण 2 प्रदर्शित करना चाहते हैं डाल: अपने pagesController बदले आप बस किसी भी डेटाबेस चरण 1 के बिना सामग्री को प्रदर्शित करने की जरूरत है।

public function about($layout = null) { 
    $this->set('title_for_layout', 'About');  
} 

के बारे में एक विधि जोड़ें।

2

चूंकि केकफ़्पी का नया संस्करण ताज़ा रूप से बाहर है, इसलिए मैं इस संस्करण को नए संस्करण (3.x) से निपटने के लिए जोड़ रहा हूं।

एक स्थिर पृष्ठ से लिंक करने के लिए आप अभी भी PageController का उपयोग करते हैं लेकिन कोड थोड़ा बदल गया है।

यहाँ कोड आप 3.x संस्करण

$routes->connect('/about', ['controller' => 'Pages', 'action' => 'display', 'about']); 

आप नए routing system here बारे में पढ़ सकते में की आवश्यकता होगी।

मुझे केकफ़्पी के साथ कोई संबद्धता नहीं है। मैंने यह जवाब जोड़ा क्योंकि मुझे इस पोस्ट को 3.0

+0

ने भी 2.6 पर काम किया –

संबंधित मुद्दे