วิธีการสร้างหน้าเฉพาะกับโมดูลและไม่มีองค์ประกอบ?


10

ใน joomla ฉันต้องเชื่อมโยงทุกหน้ากับมุมมององค์ประกอบ ฉันจะสร้างเพจที่ไม่มีเอาต์พุตคอมโพเนนต์ได้อย่างไร

ตัวอย่าง: ในหน้าแรกของฉันฉันแค่ต้องการเอาท์พุทโมดูล สำหรับสิ่งนี้ฉันสามารถเชื่อมโยงโฮมเพจกับ "บทความที่ว่างเปล่า" แต่มีวิธีที่ดีกว่าในการทำเช่นนี้โดยไม่ใช้ส่วนขยายของบุคคลที่สามหรือไม่


2
คุณใช้เทมเพลตที่กำหนดเองหรือเทมเพลตเชิงพาณิชย์หรือไม่ ฉันถามเพราะหลายคนมีตัวเลือกเพื่อปิดพื้นที่ส่วนประกอบอย่างสมบูรณ์
Brian Peat

@BrianPeat ฉันใช้เทมเพลตที่กำหนดเอง
web-tiki

อ่าโอเค. ดีมีหลายคำตอบที่ดีที่นี่ว่าควรจะทำงานแล้ว :)
ไบรอันพี

2
คำถามที่คล้ายกัน: joomla.stackexchange.com/questions/5056/…
FFrewin

คำตอบ:


15

ไม่มีวิธีที่ดีกว่าจริงๆ

อีกตัวเลือกเดียวคือการตรวจสอบว่าคุณอยู่ในหน้าแรกในไฟล์เทมเพลตของคุณหรือไม่ หากต้องการตรวจสอบว่าคุณอยู่ในหน้าแรกคุณสามารถใช้วิธีการที่อธิบายไว้ในเอกสารได้ที่นี่:

http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page

และทำสิ่งที่ชอบ:

<?php
$menu = JFactory::getApplication()->getMenu();

if ($menu->getActive() != $menu->getDefault()) { ?>
        <jdoc:include type="component" />
<?php } ?>

และด้วยวิธีนี้คุณจะไม่รวมองค์ประกอบของคุณไว้ในหน้าแรก


1
คำตอบด้วยวิธีนี้: หากคุณมีลิงค์จากหน้าแรกที่ไม่ได้ไปที่หน้าอื่นมันอาจดูไม่สมบูรณ์หากมันโหลดภายใต้รายการเมนูหน้าหลัก! คอยดูว่ามีลิงค์ใดที่คล้ายกันexample.com/component/com_name/viewเนื่องจากจะโหลดใต้รายการเมนูเริ่มต้นและเอาต์พุตของส่วนประกอบจะไม่ปรากฏขึ้น
David Fritsch

คุณอาจต้องการเพิ่มการตรวจสอบอีกสองสามครั้งเพื่อให้แน่ใจว่าองค์ประกอบและมุมมองปัจจุบัน ( JFactory::getApplication()->input->get('view')) ไม่เหมือนมุมมองเมนู ( $menu->getActive()->view)
David Fritsch

@DavidFritsch: ฉันคิดว่า $ menu-> getActive () -> view ควรเป็น $ menu-> getActive () -> query ['view'];
FFrewin

5

ใน JED ยังมีองค์ประกอบ "ว่าง" ที่ให้คุณเผยแพร่รายการเมนูเพื่อให้คุณสามารถวางโมดูลได้เท่านั้น

http://extensions.joomla.org/extensions/style-a-design/personal-layout/17363


ฉันมีปัญหากับส่วนขยายนี้มันไม่ได้รวมrouter.phpซึ่งเป็นสาเหตุของ URL ที่ไม่ถูกต้องที่จะไม่ตอบสนองกับ 404
Flimm

4

คุณสามารถมีเทมเพลตได้หลายแบบในไฟล์ดัชนี

<!--Layout 1-->
<?php if ($BConfig->html=='layoutA') : ?>

<jdoc:include type="component" />

<?php endif; ?>  <!--End Layout 1-->

<!--Dynamically Generated Layout 2-->
<?php if ($BConfig->html=='layoutB') : ?>

<jdoc:include type="modules" name="your-module"/>

<?php endif; ?> <!--End Layout 2-->

จากนั้นตรวจสอบให้แน่ใจว่าไฟล์ templateDetails ของคุณมีตัวเลือก B แล้วใน Joomla! แม่แบบคุณสามารถตั้งค่าแม่แบบเพิ่มเติมโดยใช้เค้าโครง b ไปที่รายการเมนูหลักของคุณเลือกเทมเพลตนั้น องค์ประกอบจะไม่โหลด แต่โมดูลของคุณจะ


2

วิธีการแก้ปัญหาโง่เขลาคล้ายกันมาก แต่ค่อนข้างง่าย:

  1. สร้างหมวดหมู่บทความ
  2. ทิ้งไว้โดยไม่มีเนื้อหา (บทความ)
  3. สร้างลิงค์เมนูขึ้นมา
  4. กำหนดโมดูลของคุณให้กับลิงค์เมนูนั้น

คุณอาจจำเป็นต้องปิดรายละเอียดเพื่อซ่อนหมวดหมู่นั้นในพารามิเตอร์หมวดหมู่และ / หรือรายการเมนู


1
นี่คือ basicaly เช่นเดียวกับการใช้บทความที่ว่างเปล่า
web-tiki

1

คุณสามารถสร้างองค์ประกอบที่ว่างเปล่า ดังนั้นในองค์ประกอบ com_menus คุณสามารถตัดสินใจได้ว่าหน้าจะต้องไม่มีเอาต์พุตเพียงแค่เลือกองค์ประกอบที่ว่างเปล่านั้น ในองค์ประกอบนั้นคุณต้องสร้างมุมมองและเท็มเพลต default.php ที่ว่างเปล่าพร้อมไฟล์ default.xml ดังนั้นคุณจะเห็นตัวเลือกนี้เมื่อคุณจะเลือกส่วนประกอบใน com_menus


1

RocketThemes มีคุณสมบัติที่มีประโยชน์ในการซ่อนบทความแนะนำ com_content

ฉันใช้เพื่อเผยแพร่หมวดหมู่ที่ว่างเพื่อลดผลลัพธ์และซ่อนด้วย CSS style


1

คัดลอกแม่แบบลบองค์ประกอบ jdoc และกำหนดสไตล์นั้นให้กับรายการเมนูใด ๆ ที่ไม่ต้องการส่วนประกอบ


0

ในJoomla! 3.xคุณสามารถทำสิ่งต่อไปนี้:

  • สร้างโมดูลของคุณก่อน
  • สร้างหมวดหมู่ใหม่ภายในบทความใหม่สำหรับเว็บไซต์หลัก
  • ตรวจสอบว่าคุณได้เปิดใช้งานเนื้อหาปลั๊กอิน- โหลดโมดูลหรือไม่

โดยค่าเริ่มต้น Joomla! รวมไลบรารีชื่อBootstrap v2.3.2ดังนั้นคุณสามารถใช้ css ในไลบรารีนี้ตัวอย่างเช่นระบบกริด : http://getbootstrap.com/2.3.2/scaffolding.html#gridSystem

  • จากที่นี่ในบทความของคุณคุณจะเห็นปุ่มชื่อโมดูลเพียงแค่สร้างกริดที่เรียบง่ายหรือซับซ้อนมากและกำหนดโมดูลของคุณให้กับแต่ละบล็อก

ประโยชน์ที่คุณจะได้รับจากการใช้วิธีนี้คือคุณจะได้แม่แบบที่สว่างขึ้นโดยมีตำแหน่งน้อยลงและโค้ด php, js และ css น้อยลงดังนั้นหากคุณไม่ต้องการฟังก์ชันมากมายคุณสามารถสร้างมันเองได้

ความนับถือ.


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.