Zend Framework Module Per - ตั้งค่าตาม

โดย Watkin Steven Lloyd , วันศุกร์ 1 มกราคม 2010 22:40

เราได้สร้างการติดตามผลไปยังการกำหนดค่านี้โพสต์ซึ่งน้อยต้องโปรดดู จากเค้าโครง Module -- Zend Framework .

เมื่อใช้ กรอบ Zend กับโมดูลที่เห็นได้ชัดว่าถ้าคุณกำลังใช้งานต่างๆ (sub -) เว็บไซต์ปิดโปรแกรมเดียวกับที่คุณต้องการไม่จำเป็นต้องเหมือนกัน คริปท์รูปแบบ สำหรับแต่ละส่วน ฉันตัดสินใจที่จะไปกับโครงสร้างของเว็บไซต์ดังต่อไปนี้

  / การประยุกต์ใช้
     / ควบคุม
         ...
     / โมเดล
     / โมดูล
         เริ่มต้น /
             / ควบคุม
             รูปแบบ /
                 / สคริป
             / มุมมอง
                 / สคริป
         / anotherModule
             ...
     / สคริป

ปัญหาคือการตั้งค่าสคริปเลย์เอาต์บนพื้นฐานต่อโมดูล คำตอบที่ผ่านมาใช้การดำเนินการช่วยเหลือ การตั้งค่ารูปแบบบนพื้นฐานต่อโมดูลเกี่ยวกับการสามขั้นตอน

  1. Application.ini (หรือการตั้งค่าการกำหนดค่าที่คล้ายกัน) :
      admin.resources.layout.layoutPath APPLICATION_PATH ="/ โมดูล / admin เค้าโครง / / คริปท์"
     default.resources.layout.layoutPath = APPLICATION_PATH"โมดูล / default / รูปแบบ / สคริปต์ /"
     member.resources.layout.layoutPath = APPLICATION_PATH"โมดูล / สมาชิก / รูปแบบ / สคริปต์ /"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH"โมดูล / พันธมิตร / รูปแบบ / สคริปต์ /" 
  2. ผู้ช่วยสร้างการกระทำของคุณ :
      <? PHP
     / **
      * ตั้งค่าเส้นทางรูปแบบบนพื้นฐานต่อโมดูล
      *
      * @ ผู้เขียน <lloyd@evilprofessor.co.uk> Lloyd Watkin
      * @ ตั้งแต่ 2010/01/01
      * /
     Pro_Controller_Action_Helper_SetLayoutPath ชั้น
         Zend_Controller_Action_Helper_Abstract ขยาย
     {
         / **
          * เส้นทางชุดรูปแบบขึ้นอยู่กับโมดูล
          * /
         preDispatch ทำงานสาธารณะ ()
         {
        	 $ = โมดูล getRequest $ this -> () --> g​​etModuleName ();
    
    	     if ($ bootstrap = getActionController $ this -> ()
    	                        -- getInvokeArg> ('bootstrap')) {
    
    	         $ config = $ getOptions bootstrap -> ();
    
    	         if (isset ($ config ['รูปแบบ'] [$ โมดูล] ['ทรัพยากร'] ['layoutPath'])) {
    	             layoutPath $ =
    	                  $ config [$ โมดูล] ['รูปแบบ'] ['ทรัพยากร'] ['layoutPath'];
    	             getActionController $ this -> ()
    	                  -- getHelper> ('รูปแบบ')
    	                  -- setLayoutPath> ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. และสุดท้าย boostrap ผู้ช่วยดำเนินการ :
      ...
         / **
          * ตั้งค่าสคริปเลย์เอาต์บนพื้นฐานต่อโมดูล
          * /
         _initLayoutHelper ฟังก์ชั่นการป้องกัน ()
    	 {
    	     $ this -> bootstrap ('frontController');
    	     $ เค้าโครง = Zend_Controller_Action_HelperBroker : : addHelper (
    	         Pro_Controller_Action_Helper_SetLayoutPath ใหม่ ());
    	 }
     ... 

4 ตอบไปที่"Zend Framework Module Per - ตั้งค่าตาม"

  1. Behrang says :

    สวัสดีขอบคุณแรกสำหรับการสอนที่เป็นประโยชน์ แต่บอกฉันที่ฉันสร้างผู้ช่วยดำเนินการด้วยชื่อไฟล์แม่มด? ของคุณ
    behrang

  2. Hi Behrang สร้างการดำเนินการกับผู้ช่วยเหลือใดชื่อที่คุณชอบฉันมี'ห้องสมุด'ของตัวเองกับมสเปซ'Pro' คุณอาจจะเพียงได้อย่างง่ายดายเรียกว่า'SetLayoutPath ชนชั้นและนำไปใช้ที่เคยคุณต้องการให้รหัสสามารถค้นหาได้และคุณจำเป็นต้องขยายชั้นเรียน

  3. shashi kanth says :

    สวัสดี, เอี่ยมสับสนกับการตั้งค่าการตั้งค่าฐานข้อมูลโมดูลเฉพาะใครบ้าง ... มีความคิดหรือไม่

  4. ฉันคิดว่านี่อาจจะประสบความสำเร็จได้อย่างง่ายดาย usign รูปแบบข้างต้น ขั้นแรกให้สร้างตัวเลือกในไฟล์ ini ของคุณพร้อมแฟ้มของ :

    moduleName.db.user ="
    moduleName.db.password ="
    moduleName2.db.user ="
    ... etc ...

    จากนั้นก็สร้างการเชื่อมต่อฐานข้อมูลของคุณให้ตามความเหมาะสม (Zend_Db : : โรงงาน () หรือคล้ายกัน) และที่เก็บสะสมมันออกไปในรีจิสทรีหรืออะแดปเตอร์ตั้งให้เป็นค่าเริ่มต้นหากใช้ Zend_Db_Table (Zend_Db_Table : : setDefaultAdapter ())

ปล่อยให้ตอบกลับ













ชุดรูปแบบพาโนรามาโดย Themocracy

5 ผู้เข้าชมออนไลน์ขณะนี้
4 แขก, 1 บอ, 0 สมาชิก
ผู้เข้าชมสูงสุดวันนี้ : 10 at 12:00 am UTC
เดือนนี้ : 26 ที่ 2011/07/05 12:35 UTC
ปีนี้ : 130 ที่ 28-03-2011 10:40 UTC
เวลาทั้งหมด : 130 ที่ 28-03-2011 10:40 UTC