About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
development:architecture:user_interface

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
development:architecture:user_interface [2018/12/19 14:00] – [User Interface Customization] demiankatzdevelopment:architecture:user_interface [2020/03/04 13:40] – [Why Use Mix-Ins?] demiankatz
Line 67: Line 67:
 The way CSS inheritance works requires a few notes.  If you are going to take advantage of this feature, here are some important things to keep in mind: The way CSS inheritance works requires a few notes.  If you are going to take advantage of this feature, here are some important things to keep in mind:
  
-  * Always use Zend Framework'$this->headLink() helper to include CSS files.  If you don't use the helper, CSS inheritance will not happen!+  * Always use [[development:architecture:laminas|Laminas]]' $this->headLink() helper to include CSS files.  If you don't use the helper, CSS inheritance will not happen!
   * Watch out for @import statements in your CSS files.  The target of the @import must be in the same theme as the caller.  Inheritance cannot apply here since "@import" is resolved by the client's web browser rather than the server-side logic.  //For example, suppose you customize styles.css and copy it to your MyUniversity theme.  styles.css has an "@import layout.css" statement in it.  If you do not copy layout.css into your MyUniversity theme, it will not load at all -- the user's browser isn't smart enough to find it in the default theme.//   * Watch out for @import statements in your CSS files.  The target of the @import must be in the same theme as the caller.  Inheritance cannot apply here since "@import" is resolved by the client's web browser rather than the server-side logic.  //For example, suppose you customize styles.css and copy it to your MyUniversity theme.  styles.css has an "@import layout.css" statement in it.  If you do not copy layout.css into your MyUniversity theme, it will not load at all -- the user's browser isn't smart enough to find it in the default theme.//
  
Line 93: Line 93:
 ==== Why Use Mix-Ins? ==== ==== Why Use Mix-Ins? ====
  
-The average VuFind user will probably not have much need to use mix-ins; however, this feature is useful for sharing functionality between VuFind instances. By creating a Zend Framework module full of custom code and a theme mix-in containing custom templates and assets, it should be possible to isolate entire custom features and share them between institutions without having to significantly change core VuFind code.+The average VuFind user will probably not have much need to use mix-ins; however, this feature is useful for sharing functionality between VuFind instances. By creating a [[development:architecture:laminas|Laminas]] module full of custom code and a theme mix-in containing custom templates and assets, it should be possible to isolate entire custom features and share them between institutions without having to significantly change core VuFind code.
  
 ==== Mix-Ins and Inheritance ==== ==== Mix-Ins and Inheritance ====
development/architecture/user_interface.txt · Last modified: 2024/04/24 18:14 by emaijala