From 79610b99c81fceed7a3c9255446d26de94cabcb1 Mon Sep 17 00:00:00 2001 From: stlgaits Date: Wed, 8 Jan 2025 12:59:04 +0100 Subject: [PATCH] [Docs] Customizing page title --- config/packages/sylius_twig_hooks.yaml | 1 + docs/.gitbook/assets/browsing_speakers.png | Bin 0 -> 10729 bytes .../assets/managing_speakers_subheader.png | Bin 0 -> 15642 bytes docs/.gitbook/assets/speakers_icon.png | Bin 0 -> 12195 bytes docs/cookbook/admin_panel/page_titles.md | 40 +++++++++++++++++- .../templates/shared/helper/header.html.twig | 6 +-- tests/Functional/BookTest.php | 4 +- tests/Functional/ConferenceTest.php | 2 +- tests/Functional/DashboardTest.php | 2 +- tests/Functional/SpeakerTest.php | 4 +- tests/Functional/TalkTest.php | 2 +- tests/Translations/FrenchTranslatedUiTest.php | 2 +- translations/messages.en.yaml | 1 + translations/messages.fr.yaml | 1 + 14 files changed, 53 insertions(+), 12 deletions(-) create mode 100644 docs/.gitbook/assets/browsing_speakers.png create mode 100644 docs/.gitbook/assets/managing_speakers_subheader.png create mode 100644 docs/.gitbook/assets/speakers_icon.png diff --git a/config/packages/sylius_twig_hooks.yaml b/config/packages/sylius_twig_hooks.yaml index 5481c592..3ccd786a 100644 --- a/config/packages/sylius_twig_hooks.yaml +++ b/config/packages/sylius_twig_hooks.yaml @@ -41,5 +41,6 @@ sylius_twig_hooks: title: template: '@SyliusBootstrapAdminUi/shared/crud/common/content/header/title_block/title.html.twig' configuration: + title: app.ui.browsing_speakers icon: tabler:users subheader: app.ui.managing_your_speakers diff --git a/docs/.gitbook/assets/browsing_speakers.png b/docs/.gitbook/assets/browsing_speakers.png new file mode 100644 index 0000000000000000000000000000000000000000..db304cf46fe53adb345505a46d4997741ccc5425 GIT binary patch literal 10729 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 a=sw$UpT~b?MlI>TN=8Cayh`+E;Qs?U-JT@? literal 0 HcmV?d00001 diff --git a/docs/.gitbook/assets/speakers_icon.png b/docs/.gitbook/assets/speakers_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..99c8deeb548c7790cfb80920a3d4d24e68dad833 GIT binary patch literal 12195 zcmcI~Q*b3rv~@7CW@1|>wl%SB+qR8~lM~yvolNYUOl+GIJNf5({~zwdy}PP=@2=jB z>aMQt)q6!M%1a=@En%Vm<@L#2rvKD87hx$?*ni>+Yx?V7 z8OK#j(^bX6+||R#*$m9W-oeg{-o?b(%*@`!(!uo_vQOZj6W~855oa?aS1Sj5VpS_U zGcY?dX9i*>E@EpVdv^w67A6*UVrCW|c2*u{Hps+$2rw{WFe%ZWs-D@Gn;yDq4@9Fk z%N-#-ZHQ3cV4{3%tY_#Xv@=pOQmiI*&3r1&GR!Nqw6s?hU5d@k%&zFE;UOS`>9o>% z7@l%{`~#T2fe*qL7;GQ!?-uRk-t-*j-t}(Zac{dMM9Cn*2NS~z7b&s3L4N!B{c}4q zALH9kOH)!ysGr|)GhnrUeh(F=3|9aCtswD#ugZNsWXbVD4%+QXG-5~I^<*JKo*%|} zJ=sF5gDQ6~z?PnJj#Iwum@G?@bCFeQ95i*spBQg)5MWyq5OH(i6N7sXAA!ipk!QT1 zqNy6(8{{yknJ&N3q4-F|HD{OpigezfxD670cU66O>0yp~~fDeE*tf8`rLh zxIOX!%}G=l(oGN_op1=~KZ8-B3L0G&5!BlP#Xoq*UrD2)7FV=BU({8kYaJ=sQt65? zb*QlL7tIdLEPmkSDmabSy1KJ=!O>%ee&tfaX-k=fxgaQXPl0t?VyuL1U8XXKS;mK3r|azVKlXviRt3o*1$-KeBVDU6F>9|gV0 zS+)?rFSE(Tw_?Jr=gzm+4d&Rcqk)=7Ary-gv0IWBZCag4$A3xmRZPM144(b!rSmao zaz~~1I(~l5@p!QgK+k9-vx|^FZb_p=HP!3bfEZW;87;mJl8-aEc7Fi2eC^r%7kTW> z(%k>v(pIgYm5mBG5~~~uPA*)@W3XeOby)Ns_B{0+#+TEfm$`3vZ{z3Y%pr|N8L}Q` z?{=lwtYV}Ft$9$hQgz)<9%smEzHsrg{oAb>!>OPvy1xQ5nFNX71o|S_(Jp3lG(mfZ zSzM?ZfpT5UQ(5;|y}HRP_u^13B{)bK>y~tk-zDc3w=3*)<}C8DqKbuMgBf1Q%aj+M zpIU=Udh;M>FYf6G{583 zk+qAhFKt&xQVNIAou{-}^1C?K-c<`tR3vF<$z-%`vvp=$V^J8)QG;hyGeN^lDR=}S zo03tHA}Hy~ZFf^KDMR06_c}C=nbv%%q6Jn&ENw9l&8Ccz8S_Ben}(SFPqc5XJ;U|Y z3SKvN2-vik00{>(n=9(APkXBEJ`b!^AFL)v9U3(=9Tk@Cy48r~eWE72_2X{O=(vX_ zta|1KzJ!BkhYZ$pnMP3S}USGtGWe)jO&jpNb_I!SwUz)@)o;2uhQUHrC%(#wrh`EcohnBIf(hQZ;ii`z_j+TGP*};!gkv z9don!fylVOk4bXzyFzeCek9A?4nYVp&pr00WpIxXVC=BEkaRZfuh#FAKFz=%TpT&H zulR8Y3h;cVg8S>0-gd0F6Zh1&e}9k$E6^K+bSk2Ce>%8fjO2P9Y9Y_%;jet>SK)VU zIy3n3R|688tHX*c?G3bFWcAUI26kQMNpkaTe|dZ5kp+7~k(}N3kkQs=9CNAlJ$pN6q2py#WQgNfA zZ{T9lQ$tw|nc*_II4FSJ<;yAly8Ut9QzezsfVaXhRAFXad2=f*Q}DtO1+>csDgC_M z2>z{pl`eDD&U36>-6&4M(=3c;E&j7gG2I|=Vg%R4IWlgl_WP$lsPj3IxRh5h^Brel4 zbkLsm$Y%ibi;B%kYujE3WaG{;4@+4+q|jO*?KMx+pe14zDPa#RchyBfxUA9C%6*BR?d5T?M~YgVN6m zU4a&DpO#`0D>k<)TS_R^^f5Vk;o~2_qFa4m;87oY31FRTa1wzdg-4IIpM?|Qf%cnD zQ)9$rym{Fhh{p4^-}Ck)wy(BUe(BfDie^g1s*^mOSoq>?#{D7FE>P#***E(stm@U% znw=|yg;o{&#FmitT_#n{2U^ZE6w0B_WN`j7)NWlwR|F<(VmupZvRu7sn)tvKo*v?( zL6IA6Wh8M$#iE^OL4}0zfc(#6P_x^g*@1P0y~1Bo_mofzXVzGa_b0Al80*@U zjI?PiVgqYy@F^Ya9NKUtQ@si$bGE7S1q?f}(l zRBHQ#3(*4p9FoIUqC+Q4VAeLY)#S717`7J^%SH|iNqH(li4C8|RfQlbdRDBWSgcE4 z*J6V{hHooD4MGv}=vHBr3*`LT!>Tb?(lh{VD3g8+QWQI*>CU2d(0j6vP6aqS|47`B z@7AcV0K+e;&NU#>EB84v`cK7S;e&4+0-Py%Yu&$f;vYsjo=Mjq^#(Ss?KjjEmlDFu z>7<_hNo+POSX*O-r%oX*y-Ig|lGP{|;ERP7xf&C;z3TO(hx)n9#Uq zN>W6^AI!&axZCw;Yq(c}i zQ`u0YjX0bIl5!mJ4mu$CsNJUnH7iMeVD-B*!DWMTN@7})L}GRS_#^=@Tq8I+#%r>q zdNdz}=0?~j-XKqg!mfz&}`YOJNJ~W_{rTYEi#vL-HiI?z*2Uw?j zP~A#FcvMnMVPVwHaZXO3im82}x4x4{ATFy-hox(KdT|z+r-Hj{g~eUazHeTln2;+k z-T-~gVDGu~gc<9l8x>V1lq4nNKt&hRQH%*Fr@O4jDnbsWTwp5+DeURy@n)2yVZ%iB zY&)MMaPS`%8T75FuGfCZ9-hNtyqhu^T*+sbxa7&^esZI_wH^L;CREz+(tY6CH<77Fz@NHT13ATOcu5#sa%Mbf0O<5u zL#=F@epe8Ll=+VB0X`4Q>f#2yoTLyz-E3h&HdB8rwVgrx9zW_??mDX$n{y|k4$bIv zA8DRy00Rt`_@F5qna8Za=IeB(3 z0N_%Fdw=f<8S1$7FA^D(Fpqpr`9E+cXV&Qx&|mH~WAGhADJPn`7wh|*%-Dy@5OAj& z?aAQUv@pKB&uAyb;AdAk(o6cTm(*xDdGgM_3{h+Nc*m)(NS2WztlS=GpIOCwbJ`y< z=3)%vlw=b9TbnplN8Ussx}xgd0=QHt_;mKdASnj%G`$$p%h04n!3^S*eH9AduBYOh zk8NMZC^(S}aJD1MtaA%0Sk9k!9oXt9EhT95nQ#0Z);79)bp)Z?p0Z}pF;Vd6;V7Jz zxIp-tj`n5Q@0otH@GTW|mrf2>1_HtVfZSsV^PYDV9>9Zhd$HVY`GVGXY;-Vnuzn^UuPYrEuVRbJ1l0QefM~; zA;7-=F^1i?v|>4BFP`)d^I2P^20(Gj84NXHJ-Sc|?sv|+wRu=r%^Ge@Ra?LNn+a3r z=^|IXuIii2VCjkfu)JKMzWj$6+jGsan!_4{ZpvC+#0d&3} zb{p#rrk$?S)N|}1**PPO+ zS|7bV9Y}50f(@Y`*7Ne${@4!shl%Z`X)OB`VxcD>Z&QBz2k?AMg8MP4RDiDl-5a(} z32)&>&Q-YXi$)=h2@KEI(plje%=>!YS|^^a zbp3964k2V(P}_eeik_^n{;3ddr^f*3JMAAGxMFO*$}31Wy@%2w4<|BTmtb_-e$Mc9 zZVfbNzuz}+!kLQU9<;J^2?A1C-Hx-A8AW-rACy`s{&KcJwrJb;S` zsq;qXRfzQ;b*0f1Ka;jijt@%hBZ%4J%rTnDbU&Wim}8RXgfU0)2M0HzKI8P=kt3(LB}-KI54wQH^xZSV3yeqY!@3+Pl;=g8y)Y3F7`P`u#ilmTD#p{6|+_4 zw=7y}{V}3`3cbjmB4@qZsFS@r{qGPyYp#*dQYy}|kq`Q3PS*0FQI`~xTacPW<0>|`F}pmU;{zbs zay*YBK-j5&F^FnEf{L)}6nB^sK>^-DxoUa2xy>qF&qr^0+@6$~$(mpIvkCYFZq<-er~@;XSbNRhsvj4F zdlC$Car#+(;FS{Uab6gFw(+DEJA}1x%iQfvCmAE)V&zGjeh0425pr%5dn4h1Ad@0c z4OK3Gx65DFjkGeIPgnK%P7!eT)juX(ueh*;(?U_w>3y8ActWt6Z;5cGb{Kjm}f zQ@JJ*(O7;(`LkC%X#3)g;1ick#X%pz(t^YwaCyRff=s#X0h5z`p0Vs0Rp%>(KT!@~2)?*;Nd?MV-s1xzr@@ zhitYtCuBE$`)a1zEJSmg(_T^Bpr^pu_ZM+~1M;vtvEdxOW#`%SJN37q<{D~l)mQ#= z78lab@|&)TEdtHiPK~0Lw{R=^hRW`0hKhQR`kFGs+5{KFA1I95VwJl3<7yg2$wsn= zZ4@q^FK^WFa*F|ZBDY~=z~OOtRI`ABC94iVQYrK~~Bnezow+Yc$Xr4SV5K7$s(vj(YK{iF9CD7AlAX}bx8v9P zhK>FB-dJ76+Yn2f>9~f??koAs#cSZGh>6!5_YZUU)?x8? zH@dL$eZhv0HmsNXo-Qjr(06!|ck`p(59Ej@IgH8Kq+G{T13?s%>&H#L9&4!hZ|jPz zj}N+QFO*GKA7drJGn*L-_E#?6B87UNNff@%itw|%y$22nj)<*{;k~GY6gr5GfK%mCwXkYoqajW{K?kTe zmB~uGI+n&HQm$n5{$0Iom&xoyI=_4}jt4&wj)~^if<-ltj%q`UHQrMCltP_Af0ZDm zqDd1rf@Hj)jQ6|NN4jajsmNOAsp zC-ZGsdJwt|31CsMFOHZXyINQ+sn{9=BKtf?&ix3F;Yno(bkj}1(v)9n-98O;xwdO* z0LuC81E3@{M?gVq5k6Kl2e~AF?ZzyIN6fN+kzXSYg@jE8T4?UupSpOH;YR1@hn%!3 zVRaUdvhx!wKK=j!1wqZNs#L{UgROBJ2YafPpwYjJ7^C&OmyExZ`A%3&@jYURexf*3 zMO~H}O1?z439cykw}i+7xMprGQVo#)%}=kYcEkBx$Qz1_wB&PW@98nYt4M=PM*e2^ z&W0<6tcbY4$r>~UlWX|N+LR&CN_(XZhfZeow!It1Xk6}MSq~gY9lmxc{+*a__FURj-xFRdjitRy?hwX@>`guFb^z7g62*_S?r<>&IY)Ll?n?Nt-@O$(yTi zSf=K=hdKvg6g57Qms=RTKAr@|*T6F+b{`_?*CA?+!{-U0r8D~ofcTg*`ae0!!BmXM z@$|JPwz{)?UOHAEENQu|=rtFesI|gT_oAF50TVyzrJ7rvi(6XwXS651k8=)Ikzs0} z$n^ZqyThK$fhr0OeocgT6L~UCzffLc_1^ZWnWQYUyYBu1mvN5uK_0mkfxaTVS6_xu zcMcEL%&n?%FX0s1Lxmb(u0-~r8+*>bdW^^UN%n_} za@UUW24V^oY;kpYxg)%zw@gODZC_Y%SSUuJ?158JTZmzm;E{d@jIa#@=*lTPwq_^qoO|j#Db43&MTKpu& zkA{L+lk-l>9eYifv$k-f{DyUWEYGO_eN%;SyK96)(-4>ds~Ry< z21@#7BGxPtQ{BDQ{WvrbmDF_iiQ%LX!4zsNobIV(dXt1@yzc8KafgNsw-%(4e&|?i z#{R(Udd;eLZyc`Px<+NEADKREs7#>$%2}^*$zXRSLU=qdRz}p_=t_G&1^-rFaB$%6 zFH3WsQ>7DgJPfrcjQP8f{i*vNyN}Rd>P8u@1IB;Xv7gDlEs2_^H-10Gg7R!>-O9I+%NP^v2-b4A*p1Tt@s74_G)(qWHNdd~*cM;o(=^c+$Q~r? zb6N4P9r5bi>7O)D$LpTzI2O{f&l!-#@t-DzOL^dgKNkX~9A){^vmlu`q=ul#um;0J=+1$QR1&*(Y z$a1zQQzQ;~`2c!TaB`}(X1A)AdFyT+WjA^SfS7?-oun2U)*g*_4ls45D16uNatesh z7I&hr6lKNbmSykSQlXiC15s7BIf;g_{P$8p;+N#iXnyO+pF?jFgmT-H)jrl1K@Oi+ zq%&o=!SL+w!^5ax8PBZ8V>NtPf87T!l)wG>!Tu#?u01zU;X5oXMZTM6Dnxl>Y^!#u zeCdY}vcA~sC9!Eu4EceFiU8j^+cFhk4ylBJCAS&gJym)9y6-vN%BIgX_%e5kA(NWB zk|Mrr?INnm{FtkLm{$YHLika!p!Qo4#=Xc!Z;+V6qSN(Bj0`+|_TwJagZ~-gx@LW5 zYnF>eMmBxDi%n{5pf6wI&A~#z^9M{N$~91COe)Us>nPsyE9<-KD_fi&Pds-j-t%6f zkoDy&5W1!`j$krbth1ISXVJ6uzS^Zd&Ga%hJ{lfqs)%T6c4RmJpR$(b@7ME8eaq6Q zEWL8-i0E-o{=T3Ug^@7DJ69JVsH?Dg`w{Oo##{zF9q`>jkJ^HTc5kzl3X(_d+^w81 znQYl64+hUT%ovX%B5tkfGsJ3du4S%;pANQ|-0nNztez+!=G%bEiUPflGyj zH3{myA(?FWCAIg2sBDVdkXvl%op-7z4NPnj_`peHD8_V{9%ua)r)1@?s`S@#zZEH! zef|52#C}*f$slM38lR~;JFL)oo-M59Q}fz6EC?5@nV%>oddax2q_p{au@Q;cf+|+P z#oAPPREK_Xd3vo1e(1Y@@=?H-ycYJ!Yg#sC9DUi*&=py|Rv zl%y=Zma$na*p&4USllqoTaFcC-est$J{{r5RmBP3NL0+tx5YEDthS7)v&-$jGy5KMeLXNs zYW?NJSS3!ovzS|XK8#P@&#V=k-qVNT83$E8g|EW62@9Ehv-^tstgm*hw*GluPso%j zlaJP5)RfXq#@wxUCi>|tiDeukYF#UuMM3Fjyh(|NJU*`MGU!M~Lz+*)XBqkxUnS>C z_o068@OctTy$|mr>xklmv4UEXjh7Q>=dHKHc=3)BbxZAtIjMv_jDURF+4Y@}<6vrIWz z)L4D^51o~hlUsS_2wl5ik8N8$Ehsb_d*Bq7N}eJejJ@XdzMw=~_-r-a@Df};8RNV6 zDfGc!5&^D9*9C;q?KmE0WwCE-5==p+>xRZ zp=g-SzjAb*zGsjXVY6~I@AI!+LPCp;VS8KUC>t56fEq6iR`^bh8sOI1 zo7qZAfiaZOPTyLSu@W_)!nrswXv2r4kF4nDkU|0UEfENYoiG&c_=K2fnRQ zA3SK%H(ml>R_y#7Q$;?Dqclc`d!Z@t6SDcvIb#++`lTKw{LZ51@=tJ0rvgSCV`0U^ z;;4i_MjH6nSG?#ljKvD5y~!MEx?*$g@VEq?iDqrRnB4x? zUh;zIQo%NC#RDB7)Mo!Sm!1~Ud~=D7V+(>*>gLJzX5qWeHum^dOCOq%s?eo$U2jl1 zc#4g~>$ghqjAk-}#uwM&XE8Ut*C(fn4#*5d^uuB&ZpvWR<0OE(klm@Y&~krF-Xk56 ze@i;^42Da(bI11#WsADYJkr%>%KApnsuMVVS75L~~&ig@YYvX12+B`2DTWI`79s8nPpC zF9~lU{P7>q&26%T=iTC;=5lOcY5eAInQH>lwl$x*)^pj2sNg2R8=FMYIS(4UQbMk% zxBjWY29<0w#)+g{`&h>;_1pwl3lgE74~y-9tNzO~tvgLEuBIi2t@8#RGK~u~T{KH9WkJL?Hac8pD+YuNaKs6o7T5~}SC>H&U{aZYNNLCbr z%xwyhr_Cz(T-9X>MOtfv<8VQgV`BZ43l&)v))Bdm_rtZS{~s~HuB+Hixvlq{VEf*M z&?d0guUiRnqH&;*Dp zA@RmzUHV1rhG$Q3qV`~xd^ZW7`l;l1k{Ox3U*+kb@rp#aAwJ{hi2@n1HM1gx!s7Ob zE3Zb>9W5*+&!D#L1LU81bR)2)ynU+MiJis*RAz4`kFK`V-6&aF4YwQ6Uxp*q;I0~N zdLWW*(rhUm*>CwhaVpy!sN+a=Z6EY9li|#E!E8qGfj}4)7MsWFud2DhV>iA}OQWF& zdUALr#Mz+j*C=WekzO~|cCQwp=+L_wP=lj!)$Lp)X;Slt9OmVCc_oF+j0iSw{$3m- zcdi3g%|UwY5hi2YOWcb`ywMna&*|DZGA0r2p*S^nS318d?BM9e^g%@F-5Sa``zQk* z{1`*IZdqtY5hMpE^G9a4tD+^{{tE(3(5;acBlNv_wU1E95y8R5Abua=g>3v`%?cVi z?xZL4?RQ>p`SP2czi@;>vVUO@+NQqgcX*}?7X_6#QQ;h1sE`HXg^;)+%~SgMJm5{6 z7Hg(SJDZcJy)_m0U(ZM(cK1hx^EkqT3c>dpzRi` z>6)vry6@j~6jgBRYJ|yL`!}l)QB_;lCD)&9rP-?y7_i&DJr0=pL7bLW_1&Fp#s}K; zV$u0180t=L`eqo40+1{o29vlrtzq@LtC>y3T~5+^LXXw9ivQ#}iRj|JWa-P40pgt} z4ilF@?3o=+`UfHO2M18oN*RAHjU{NHupUqj5F1U2(vh2AQ|7KJ9S4&EX%z(J-`1#M7&3l=~HJ!&Rkglr#~)li73wiIz7o{)rP8JY?PqjLlAn45R<4ZBox>lkU#1a}B73hCaxhfBs_=KP!hnuerYkL zaN!PLz&H0^87g768Gm@ip3^<6`oNJEEuzcG)PkoGkVobqXLK8xh-iHsq$Ndj{PZyp zr0F-jnhryDeX;x-I4M{(9^$SvbyL|_UEh8Q7T($1xoZ~VhVomw#!P;Q$TS(FiTsf( zdVN#brgOKp_gQnupi$@2NFYGG zvEX<^jSi4AO{>G8YzYK(`(|!4=G6-Pus*(;@_gbigQ;cwYz|Rz(hBA!~P- zUaQh_6!c!R-yNOUik}D)_z1C%PpChcNRr9hom07XqTc*fv4aZ3VX!AOEnd`$V!qZ@ z$NVU6ul^jZN@$|hPM(Q#*GJMQ`7`k@lD|7?W$@5WiTm+z)$7yN`@;s+K3}H_Ieh}C zVdD87n$6D>*zb}wK&t0 z-gA*rnO~g__oU=d&$B$1Z5EJF&8d{_9lqU~(_y}7?uncWin4gqc%z$!^S`G*3IiFQ zHrSeq_2);MZpV#Pdc9x!g^lAd)<4I0=9TF(PR{W4J~PY9eFUHex%o*|_I$-_EP~b{56J?M*7y?BuY#5`e`$y_Y1^uuYXY(o{r&i!*-8ubE0OcJ zTUscrwrfMLE=Z-jj@@Jvi9$J^7fH2OG_Bnzh~}= zm~+QH9^WQK>d4=&_!{i-Al)5I??4f7k=?T1_RQk3?DB;Et|#2-%uic`zuX@=d(790 z1MK-KniG_$dSMK615gMb;XZXHb+SC;Q1(Q?o@+q-%}jM~m|d|IN_0`&(7%cNu7{^D z%yUIyr(<`Yvk>z-!er4TQwOy=18|CPt;{ zh?1VKXN&o@^;-TwfiDGo-Gl`#X%N|@lrYwCTK3S@ehTz7Yks@@qDNcZ^?5$s@hU82 z1RnB-aULO$^t|dj$Q~YFqX6|j1ECjcLM(lX%4)u}asLrL9bJgRzP1;Nf9j~)@g;?w zU2_gg`?=xUMOJ)*gN_!L+=m~C|m?UOoNH2DX zvfFhP^*NL}nBM!H+?G|Kb{#Blqm6=RJ;`lfXO0Jt-KM-97{|Rc20~3PB)Qamq?<4| zZtq$2iB6qW7=f@~NTilwUoM!<8OGMvs5m*o%sYfxefSTbDKFO z7%+|dFt7*xcI)cHkNNX|5&Lq5B$ygv*nzJu^PB4bSPWkl|F@*?{~wiM^$W~X_J=3T nrUd&xnmn?Zrj)sy92m_%8}?uNPv%sT{!>z7@}jlEhQa?2{Acb- literal 0 HcmV?d00001 diff --git a/docs/cookbook/admin_panel/page_titles.md b/docs/cookbook/admin_panel/page_titles.md index eec76622..c9e9faf3 100644 --- a/docs/cookbook/admin_panel/page_titles.md +++ b/docs/cookbook/admin_panel/page_titles.md @@ -1,5 +1,40 @@ # Customizing the page titles +## Changing the default title for a specific page + +
+ +
Title changed to Browsing speakers
+ +
+ +By default, each page has a default title based on both page location and resource name. +If you're not happy with the preset title for a specific page and would like to customize it, +you can easily change it using Twig Hooks. + +Search for "title_block" in the call graph of the Symfony debug profiler in the `Twig Hooks` section. + +
+ +
Title block in profiler
+ +
+ +We're going to reuse this hook and its template in our config file and add a `header` key: + +```yaml +# config/packages/sylius_bootstrap_admin_ui.yaml +# ... +sylius_twig_hooks: + hooks: + # ... + 'sylius_admin.speaker.index.content.header.title_block': + title: + template: '@SyliusBootstrapAdminUi/shared/crud/common/content/header/title_block/title.html.twig' + configuration: + title: app.ui.browsing_speakers # here is our title override +``` + ## Adding an icon
@@ -10,7 +45,8 @@ To add an icon to the page title, you need to use Twig hooks configuration. -Search the "title_block" in the Symfony debug profiler at the Twig hooks section. +Search for "title_block" in the call graph of the Symfony debug profiler in the `Twig Hooks` section. +We're going to reuse this hook and its template in our config file.
@@ -79,5 +115,5 @@ sylius_twig_hooks: # We need to reuse the same template as 'sylius_admin.common.index.content.header.title_block' template: '@SyliusBootstrapAdminUi/shared/crud/common/content/header/title_block/title.html.twig' configuration: - subheader: app.ui.managing_your_speakers # you also need add this key on your translations. + subheader: app.ui.managing_your_speakers # you also need to add this key to your translations ``` diff --git a/src/BootstrapAdminUi/templates/shared/helper/header.html.twig b/src/BootstrapAdminUi/templates/shared/helper/header.html.twig index d4d9d384..4f322786 100644 --- a/src/BootstrapAdminUi/templates/shared/helper/header.html.twig +++ b/src/BootstrapAdminUi/templates/shared/helper/header.html.twig @@ -1,14 +1,14 @@ {% macro default(level, header, icon, subheader) %}
{% if icon %} -
{{ ux_icon(icon, {'class': 'icon icon-md text-primary'}) }}
+
{{ ux_icon(icon, {'class': 'icon icon-md text-primary'}) }}
{% endif %}
- + {{ header }} {% if subheader %} -
{{ subheader }}
+
{{ subheader }}
{% endif %}
diff --git a/tests/Functional/BookTest.php b/tests/Functional/BookTest.php index 1e3a990f..1cca2614 100644 --- a/tests/Functional/BookTest.php +++ b/tests/Functional/BookTest.php @@ -46,7 +46,7 @@ public function testShowingBook(): void self::assertResponseIsSuccessful(); // Validate Header - self::assertSelectorTextContains('h1.page-title', 'Shinning'); + self::assertSelectorTextContains('[data-test-page-title]', 'Shinning'); // Validate page body self::assertSelectorTextContains('[data-test-author-name]', 'Stephen King'); @@ -71,7 +71,7 @@ public function testBrowsingBooks(): void self::assertResponseIsSuccessful(); // Validate Header - self::assertSelectorTextContains('h1.page-title', 'Books'); + self::assertSelectorTextContains('[data-test-page-title]', 'Books'); self::assertSelectorExists('a:contains("Create")'); // Validate Custom Twig Hooks diff --git a/tests/Functional/ConferenceTest.php b/tests/Functional/ConferenceTest.php index 56b4de2d..a8b5451c 100644 --- a/tests/Functional/ConferenceTest.php +++ b/tests/Functional/ConferenceTest.php @@ -52,7 +52,7 @@ public function testBrowsingConferences(): void self::assertResponseIsSuccessful(); // Validate Header - self::assertSelectorTextContains('h1.page-title', 'Conferences'); + self::assertSelectorTextContains('[data-test-page-title]', 'Conferences'); self::assertSelectorExists('a:contains("Create")'); // Validate Table header diff --git a/tests/Functional/DashboardTest.php b/tests/Functional/DashboardTest.php index f4e1d6d4..374d21f9 100644 --- a/tests/Functional/DashboardTest.php +++ b/tests/Functional/DashboardTest.php @@ -35,6 +35,6 @@ public function testDashboard(): void self::assertResponseIsSuccessful(); - self::assertSelectorTextContains('h1.page-title', 'Dashboard'); + self::assertSelectorTextContains('[data-test-page-title]', 'Dashboard'); } } diff --git a/tests/Functional/SpeakerTest.php b/tests/Functional/SpeakerTest.php index 6213ecb4..a3dbe15e 100644 --- a/tests/Functional/SpeakerTest.php +++ b/tests/Functional/SpeakerTest.php @@ -50,7 +50,9 @@ public function testBrowsingSpeakers(): void self::assertResponseIsSuccessful(); // Validate Header - self::assertSelectorTextContains('h1.page-title', 'Speakers'); + self::assertSelectorTextContains('[data-test-page-title]', 'Browsing speakers'); + self::assertSelectorExists('[data-test-icon="tabler:users"]'); + self::assertSelectorTextContains('[data-test-subheader]', 'Managing your speakers'); self::assertSelectorExists('a:contains("Create")'); // Validate Table header diff --git a/tests/Functional/TalkTest.php b/tests/Functional/TalkTest.php index e4f70d0e..e9d4403e 100644 --- a/tests/Functional/TalkTest.php +++ b/tests/Functional/TalkTest.php @@ -57,7 +57,7 @@ public function testBrowsingTalks(): void self::assertResponseIsSuccessful(); // Validate Header - self::assertSelectorTextContains('h1.page-title', 'Talks'); + self::assertSelectorTextContains('[data-test-page-title]', 'Talks'); self::assertSelectorExists('a:contains("Create")'); // Validate Table header diff --git a/tests/Translations/FrenchTranslatedUiTest.php b/tests/Translations/FrenchTranslatedUiTest.php index e7c52842..b8921ff7 100644 --- a/tests/Translations/FrenchTranslatedUiTest.php +++ b/tests/Translations/FrenchTranslatedUiTest.php @@ -73,7 +73,7 @@ public function testBrowsingItems(): void self::assertResponseIsSuccessful(); // Validate Header - self::assertSelectorTextContains('h1.page-title', 'Livres'); + self::assertSelectorTextContains('[data-test-page-title]', 'Livres'); // Validate Table header self::assertSelectorTextContains('.sylius-table-column-title', 'Titre'); diff --git a/translations/messages.en.yaml b/translations/messages.en.yaml index 67f50628..223fef82 100644 --- a/translations/messages.en.yaml +++ b/translations/messages.en.yaml @@ -7,6 +7,7 @@ app: biz: Biz book: Book books: Books + browsing_speakers: Browsing speakers company_name: Company name conference: Conference conferences: Conferences diff --git a/translations/messages.fr.yaml b/translations/messages.fr.yaml index 8f6e5217..5d610739 100644 --- a/translations/messages.fr.yaml +++ b/translations/messages.fr.yaml @@ -7,6 +7,7 @@ app: biz: Biz book: Livre books: Livres + browsing_speakers: Parcourir les Conférencier-e-s company_name: Société conference: Conférence conferences: Conférences