Guest User

Untitled

a guest
Jun 18th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.56 KB | None | 0 0
  1. #!/bin/bash
  2. # usage: magento [-?][-d "ET"][-bmc -p "Test"][-o "Mage_Model_Class"]
  3.  
  4. usage()
  5. {
  6. cat << EOF
  7. usage: $0 [-?][-d "ET"][-bmc -p "Test"][-o "Mage_Model_Class"]
  8.  
  9. With this script you can create your own MODULE, copy Mage class and...
  10. OPTIONS:
  11. -? --help Show this message
  12. -d --dev --developer Developer(s) or company name
  13. -p --prj --project Create new default project
  14. -b --block Create project default Block
  15. -m --model Create project default Model
  16. -c --controller Create project default Controller
  17. -o --over --override Override Mage class (object)
  18. -v --version Verbose
  19. EOF
  20. }
  21.  
  22. DEV="ET"
  23. MODULE=
  24. CLASS=
  25. BLOCK=
  26. MODEL=
  27. CONTROLLER=
  28. CONFIG=
  29. VERBOSE=
  30. while getopts "hn:p:bmc:o:v" OPTION
  31. do
  32. case $OPTION in
  33. \?|\-help)
  34. usage
  35. exit 1
  36. ;;
  37. d|\-dev)
  38. DEV=$OPTARG
  39. ;;
  40. p)
  41. MODULE=$OPTARG
  42. ;;
  43. o|\-over|\-override)
  44. CLASS=$OPTARG
  45. ;;
  46. b|\-block)
  47. BLOCK=${OPTARG:-"View"}
  48. ;;
  49. m|\-model)
  50. MODEL=1
  51. ;;
  52. c|\-controller)
  53. CONTROLLER=${OPTARG:-"Index"}
  54. ;;
  55. v|\-version)
  56. VERBOSE=1
  57. ;;
  58. esac
  59. done
  60. if [[ -z $MODULE ]] && [[ -z $CLASS ]] && [[ -z $VERBOSE ]]
  61. then
  62. usage
  63. exit 1
  64. fi
  65.  
  66. if [ "$DEV" ] && [ "$MODULE" ]
  67. then
  68.  
  69. echo "Including Module to the project: app/etc/module/"$DEV"_"$MODULE".xml"
  70. mkdir -p "app/etc/module/"
  71. echo "<?xml version=\"1.0\"?>
  72. <config>
  73. <modules>
  74. <"$DEV"_"$MODULE">
  75. <active>true</active>
  76. <codePool>local</codePool>
  77. </"$DEV"_"$MODULE">
  78. </modules>
  79. </config>" > "app/etc/module/"$DEV"_"$MODULE".xml"
  80.  
  81. if [ "$BLOCK" ]
  82. then
  83.  
  84. echo "Writing Block: app/code/local/"$DEV"/"$MODULE"/Block/$BLOCK.php"
  85. mkdir -p "app/code/local/"$DEV"/"$MODULE"/Block/"
  86. echo "<?php
  87. /**
  88. * @codepool Local
  89. * @category "$DEV"
  90. * @package "$DEV"_"$MODULE"
  91. * @class "$DEV"_"$MODULE"_"$BLOCK"
  92. */
  93. class "$DEV"_"$MODULE"_Block_$BLOCK extends Mage_Core_Block_Template
  94. {
  95. private $message;
  96. private $att;
  97.  
  98. protected function createMessage($msg) {
  99. $this->message = $msg;
  100. }
  101.  
  102. public function receiveMessage() {
  103. if($this->message != '') {
  104. return $this->message;
  105. } else {
  106. $this->createMessage('Hello World');
  107. return $this->message;
  108. }
  109. }
  110.  
  111. protected function _toHtml() {
  112. $html = parent::_toHtml();
  113.  
  114. if($this->att = $this->getMyCustom() && $this->getMyCustom() != '') {
  115. $html .= '<br />'.$this->att;
  116. } else {
  117. $html .= '<br />No Custom Attribute Found';
  118. }
  119.  
  120. return $html;
  121. }
  122. }
  123. " > "app/code/local/"$DEV"/"$MODULE"/Block/$BLOCK.php"
  124.  
  125. CONFIG+="\
  126. <!-- Block -->\
  127. "
  128. fi
  129.  
  130. if [ "$CONTROLLER" ]
  131. then
  132.  
  133. echo "Writing Controller: app/code/local/"$DEV"/"$MODULE"/controllers/"$CONTROLLER"Controller.php"
  134. mkdir -p "app/code/local/"$DEV"/"$MODULE"/controllers/"
  135. echo "<?php
  136. /**
  137. * @codepool Local
  138. * @category "$DEV"
  139. * @package "$DEV"_"$MODULE"
  140. * @class "$DEV"_"$MODULE"_"$CONTROLLER"Controller
  141. */
  142. class "$DEV"_"$MODULE"_"$CONTROLLER"Controller extends Mage_Core_Controller_Front_Action
  143. {
  144. public function indexAction(){
  145. exit(\"ok\");
  146. }
  147. }
  148. " > "app/code/local/"$DEV"/"$MODULE"/controllers/"$CONTROLLER"Controller.php"
  149.  
  150. MODULENAME=$(echo $MODULE | tr '[A-Z]' '[a-z]');
  151. CONFIG+="\
  152. <frontend>\
  153. <routers>\
  154. <"$MODULENAME">\
  155. <use>standard</use>\
  156. <args>\
  157. <module>"$DEV"_"$MODULE"</module>\
  158. <frontName>"$MODULENAME"</frontName>\
  159. </args>\
  160. </"$MODULENAME">\
  161. </routers>\
  162. </frontend>\
  163. "
  164. fi
  165.  
  166.  
  167. fi
  168.  
  169. echo "Writing config for module: app/code/local/"$DEV"/"$MODULE"/etc/config.xml"
  170. mkdir -p "app/code/local/"$DEV"/"$MODULE"/etc/"
  171. echo "<?xml version=\"1.0\"?>
  172. <config>
  173. <modules>
  174. <"$DEV"_"$MODULE">
  175. <version>0.1.0</version>
  176. </"$DEV"_"$MODULE">
  177. </modules>
  178. "$CONFIG"
  179. <global>
  180. <blocks>
  181. <"$DEV"_"$MODULE">
  182. <class>"$DEV"_"$MODULE"_Block</class>
  183. </"$DEV"_"$MODULE">
  184. </blocks>
  185. </global>
  186. </config>" > "app/code/local/"$DEV"/"$MODULE"/etc/config.xml"
  187.  
  188. exit 1
  189. fi
  190.  
  191. if [ "$CLASS" ]
  192. then
  193. core_dir="./app/code/core/`echo $CLASS | sed 's/_/\//g'`";
  194. local_dir="`echo $core_dir | sed 's/core/local/1'`";
  195. echo "Making directory..."
  196. echo $local_dir;
  197. mkdir -p $local_dir;
  198. echo "Cleaning empty directory..."
  199. rm -r $local_dir;
  200. echo "Copyng..."
  201. echo $core_dir.php
  202. echo "to.."
  203. echo $local_dir.php
  204. cp $core_dir.php $local_dir.php;
  205. echo "Created: "`ls $local_dir/..`
  206.  
  207. exit 1
  208. fi
Add Comment
Please, Sign In to add comment